電子書籍の厳選無料作品が豊富!

あるデータが必ず10桁になっているか、確認する作業があります。
膨大なデータなので、関数等で11桁以上、10桁未満のものをハイライトする、といった方法を使いたいのですが、やりかたをどなたか教えてください。


また可能であれば最初の9桁はかならず数字になっているように、最後の一桁はアルファベットになっていることを確認する方法もあったら、どなたかご教示ください。

質問者からの補足コメント

  • はい、そのやり方で大丈夫です!
    そのようにできますでしょうか、、、
    ありがとうございます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/09/01 06:51

A 回答 (2件)

こんなものでいかがでしょうか?


----------------------------------------------------------------------------
Sub データチェック()

Dim 行終 As Long
Dim 列終 As Long
Dim 基本色 As Long
Dim 文字色 As Long
Dim 背景色 As Long
Dim 行 As Long
Dim 列 As Long
Dim データ As String

基本色 = RGB(0, 0, 0)
文字色 = RGB(255, 0, 0)
背景色 = RGB(192, 192, 192)

Cells.Interior.ColorIndex = xlNone
Cells.Font.Color = 基本色
With ActiveSheet.UsedRange
行終 = .Rows(.Rows.Count).Row
列終 = .Columns(.Columns.Count).Column
End With
For 行 = 1 To 行終
For 列 = 1 To 列終
If IsNumeric(Cells(行, 列).Value) = False Then
データ = Trim(Cells(行, 列).Value)
If Len(データ) = 10 Then
If IsNumeric(Left(データ, 1)) Then
If IsNumeric(Left(データ, 9)) Then
Cells(行, 列).Value = データ
Cells(行, 列).Interior.Color = 背景色
If Asc(Right(データ, 1)) >= Asc("A") Then
If Asc(Right(データ, 1)) <= Asc("Z") Then
Cells(行, 列).Characters(Start:=10, Length:=1).Font.Color = 文字色
End If
End If
If Asc(Right(データ, 1)) >= Asc("a") Then
If Asc(Right(データ, 1)) <= Asc("z") Then
Cells(行, 列).Characters(Start:=10, Length:=1).Font.Color = 文字色
End If
End If
End If
End If
End If
End If
Next
Next

End Sub
----------------------------------------------------------------------------
    • good
    • 0

「ハイライトする」とはどうしたいのでしょうか?


結果的に下図のようにしたいのでしょうか?
マクロ(VBA)を使ってもいいですか?
「エクセル 指定した桁数以下、もしくは以上」の回答画像1
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!