こんばんは
ある選択範囲でどれか1つのセルに空白があった場合
メッセージを表示させたいのですが、
リスト中に入力された範囲のすべてのセルをチェックしたいのです。
どのようにしたら良いのでしょうか。
A1~A3の範囲のみでしたら下記でよいのかな?と考えてみました。
VBA勉強中なのですが、なかなかうまくいきません。お力をお願い致します。
If IsEmpty(Range("a2:d2").Value) Then
MsgBox "開始時刻が入力されていません。"
Worksheets("Sheet1").Range("a2").Select
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
とかはどうでしょうか。
この回答への補足
ご説明が不足して申し訳ありません。
リストに入力された値が「n」行、B~F列の場合、
その入力された行に空白がないかチェックするにはどのようにしたら良いのでしょうか。
宜しくお願い致します。
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 に数字以外が入力された場合のエラー対応など色々細かいこともあるでしょうから適宜対応ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
名簿の漢字名を関数で半角カナ...
-
EXCELで縦の行全てに一括して文...
-
エクセルで行の一番上にセルに...
-
空白部分に連番の数字を記入し...
-
【エクセル】入力規則のプルダ...
-
エクセルでエンターを押すと隣...
-
エクセルで休日の「休」という...
-
エクセルで年を1年ずつ増やすや...
-
Excelのテーブル上のセルの保護...
-
EXCEL 連動したドロップダウン...
-
文字列を含む連続データの入力
-
エクセルでデータを扱っている...
-
エクセルで空白に自動で文字を...
-
エクセルのオートフィル機能で...
-
オートフィルを列すべて(一番...
-
Excelで数値をgからkgへ(÷1000)
-
Excelでセルを次の行の先頭の列...
-
エクセルで既存数値を税抜きに...
-
EXCELのNOW()関数の...
-
エクセルでチェック入れて集金...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのテーブル上のセルの保護...
-
名簿の漢字名を関数で半角カナ...
-
EXCEL 連動したドロップダウン...
-
EXCELで縦の行全てに一括して文...
-
【エクセル】入力規則のプルダ...
-
エクセルで決められた合計にな...
-
エクセルで行の一番上にセルに...
-
エクセルで空白に自動で文字を...
-
エクセルでエンターを押すと隣...
-
EXCELのNOW()関数の...
-
エクセルのオートフィル機能で...
-
空白部分に連番の数字を記入し...
-
エクセルで休日の「休」という...
-
オートフィルを列すべて(一番...
-
Excelでセルを次の行の先頭の列...
-
エクセル・・色の着いたセルの...
-
Excelで相対度数を求めたいので...
-
指定した行に飛ぶ事って可能で...
-
エクセルで年を1年ずつ増やすや...
-
エクセルの数式を等間隔にオー...
おすすめ情報