お世話になります。
VBAで質問させてください。
EXCELであるシートのA1~A5の中に1から順番で数字が存在しています。
その中の数字がきちんと通し番号で存在しているのか調べたいのですが
どのようにすればよいでしょうか
※各セルは、必ず数字だけが存在しているのではなく、文字や空白のセルも存在します。
※数字の初めは必ず1ですが、終わりの数字はわかりません。
例1 数字が通しで1~3が存在しているのでOK
A1=3
A2=なし(空白)
A3=2
A4=ああああ(文字)
A5=1
例1 数字が通しで2がとばされているのでNG
A1=3
A2=なし(空白)
A3=4
A4=1
A5=ああああ(文字)
以上お手数ですがなにとぞよろしくお願いします。
No.1ベストアンサー
- 回答日時:
テストはしてませんが、こういう感じの発想で上手く行くと思います。
Range("A5").Select '--->検索開始のセルを選択、上に検索するとする
Dat_A = 1 '--->検索開始の数値
Do
Selection.Offset(-1).Select
IF IsNumber(Selection.Value) Then
Dat_B = CDbl(Selection.Value)
IF Dat_B = Dat_A + 1 Then '-->順次増えているかどうかのチェック
Dat_B = Dat_A
Dat_M = "OK"
elseIf
Dat_M = "NG" '-->狂っていればメッセージにNGをセットしてループアウト
exit Do
end if
end if
Loop While Selection.Address = "A1" '-->検索終了のセル
MsgBox Dat_M
こんな感じでいけそうです。
No.2
- 回答日時:
>EXCELであるシートのA1~A5の中に1から順番で数字が存在しています。
With Application
maxnum = .Max(Range("A1:A5"))
For i = 1 To maxnum
If IsError(.Match(i, Range("A1:A5"), 0)) Then
MsgBox i & " が有りません", 16
End If
Next
End With
>VBA で選択した範囲に入力されている数字がきちんと順番通り
With Application
minnum = .Min(Selection)
maxnum = .Max(Selection)
For i = minnum To maxnum
If IsError(.Match(i, Selection, 0)) Then
MsgBox i & " が有りません", 16
End If
Next
End With
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) ExcelのIF関数 2 2022/04/14 16:11
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Visual Basic(VBA) 列を指定して値を左から5文字にそろえる 1 2022/06/10 20:28
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) エクセルでセルに何らかの文字が入力されたらそれを任意の数値として認識させる方法がしりたいです。 3 2023/03/16 20:19
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
マウスを乗せたときにセルの色...
-
Excel VBA コンボボックスで空...
-
マクロについて質問です 範囲内...
-
クリップボードの内容を変数に...
-
Excel 入力規則のリストのカー...
-
エクセルの取り消し線を検出す...
-
マクロのセル結合について
-
VBA 文字列を1文字ずつ調べて"...
-
Excel VBA 多重ループについて
-
複数セルに〇印をつけるマクロ
-
GridViewの行選択イベントを発...
-
エクセル: セルの枠を超えて表示
-
EXCELで特定のセルに表示...
-
エクセル:マクロ「Application...
-
IF関数で空欄("")の時、Null...
-
エクセルでの計算式で求められ...
-
エクセルのセル内に全角数字を...
-
エクセルのセル内の余白の設定...
-
【エクセル】関数で「A1が0でな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 空白セルがあったら...
-
マウスを乗せたときにセルの色...
-
Excel 入力規則のリストのカー...
-
Excel VBA コンボボックスで空...
-
クリップボードの内容を変数に...
-
VBA 別ブックから条件に合うも...
-
GridViewの行選択イベントを発...
-
マクロについて質問です 範囲内...
-
VBA サンダーバードのメール自...
-
【VB.NET】DataGridViewセルの...
-
エクセルの取り消し線を検出す...
-
【VBA】セルが空白の場合に処理...
-
DataGridViewでセルを結合したい
-
複数セルに〇印をつけるマクロ
-
■EXCEL(二つのセルの文字列を一...
-
Excelマクロで空白セルの大小比...
-
VBA 文字列を1文字ずつ調べて"...
-
SPREADで1つのセルに複数のチ...
-
VB2005 DATAGRIDVIEWでの矢印キ...
-
エクセル チェックボックスの...
おすすめ情報