• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA 空白セルをチェックする方法)

Excel VBAで空白セルをチェックする方法

このQ&Aのポイント
  • Excel VBAを使用して、選択範囲内の空白セルをチェックする方法を教えてください。
  • 条件を満たす場合、メッセージを表示させたいです。
  • A1からA3の範囲のみをチェックする場合、どのように記述すれば良いでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • soixante
  • ベストアンサー率32% (401/1245)
回答No.2

#1です。 >ある選択範囲でどれか1つのセルに空白があった場合 とあるので、調べたい範囲を選択した後、以下を実行しては? Sub bbb() Dim sel As Range For Each sel In Selection      If IsEmpty(sel) Then       MsgBox "開始時刻未入力"       sel.Select       Exit For      End If Next sel End Sub ただ、範囲のすべてのセル、を知りたいということですからちょっと違ってるかもしれませんね。 でも、「チェックしたい」というのはやや曖昧です。どうしたいのでしょうか。 調べたい範囲を選択した上で、以下だったら該当セルだけ選択されます。 Sub ccc() Dim Rng As Range Set Rng = Selection Selection.SpecialCells(xlCellTypeBlanks).Select Set Rng = Nothing End Sub とか。 例えば、調べたい範囲を選択した後で、 Sub ddd() Dim sel As Range     For Each sel In Selection      If IsEmpty(sel) Then     sel.Interior.ColorIndex = 4      End If     Next sel  ActiveCell.CurrentRegion.Cells(1, 1).Select End Sub としとけば空白の欄はとりあえず分かりますが。 (検査後、色を戻すようなことは適宜設定してください) >リストに入力された値が「n」行、B~F列の場合、 >その入力された行に空白がないかチェックするにはどのようにしたら>良いのでしょうか。 n行はデータを与えないといけないですね。 Sub eee() Dim Rng As Range Dim Flg As Boolean Dim n As Integer, c As Integer n = InputBox("何行目を検索?") Flg = False For c = 2 To 6      If IsEmpty(Cells(n, c)) Then       Cells(n, c).Interior.ColorIndex = 6       Flg = True     End If Next c If Flg = True Then MsgBox "開始時刻未入力" End Sub n に数字以外が入力された場合のエラー対応など色々細かいこともあるでしょうから適宜対応ください。

その他の回答 (1)

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

範囲は適当ですけど Sub aaa() Dim sel As Range For Each sel In Range("a1:e10") If IsEmpty(sel) Then MsgBox "開始時刻未入力" sel.Select Exit For End If Next End Sub とかはどうでしょうか。

mugigohan
質問者

補足

ご説明が不足して申し訳ありません。 リストに入力された値が「n」行、B~F列の場合、 その入力された行に空白がないかチェックするにはどのようにしたら良いのでしょうか。 宜しくお願い致します。

関連するQ&A

専門家に質問してみよう