![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんばんは
ある選択範囲でどれか1つのセルに空白があった場合
メッセージを表示させたいのですが、
リスト中に入力された範囲のすべてのセルをチェックしたいのです。
どのようにしたら良いのでしょうか。
A1~A3の範囲のみでしたら下記でよいのかな?と考えてみました。
VBA勉強中なのですが、なかなかうまくいきません。お力をお願い致します。
If IsEmpty(Range("a2:d2").Value) Then
MsgBox "開始時刻が入力されていません。"
Worksheets("Sheet1").Range("a2").Select
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 に数字以外が入力された場合のエラー対応など色々細かいこともあるでしょうから適宜対応ください。
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列の場合、
その入力された行に空白がないかチェックするにはどのようにしたら良いのでしょうか。
宜しくお願い致します。
お探しの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で50個のセルに同じ文字を...
-
EXCEL 連動したドロップダウン...
-
Excelのテーブル上のセルの保護...
-
エクセルでエンターを押すと隣...
-
【エクセル】入力規則のプルダ...
-
A1 B1 A2 B2 A3 B3 の順に入力...
-
名簿の漢字名を関数で半角カナ...
-
エクセルで空白に自動で文字を...
-
エクセルで行の一番上にセルに...
-
Excelでセルを次の行の先頭の列...
-
EXCELで縦の行全てに一括して文...
-
エクセルで決められた合計にな...
-
飛んでいるセル値の平均値の求め方
-
エクセルで休日の「休」という...
-
指定した行に飛ぶ事って可能で...
-
エクセル : 指定位置へジャン...
-
エクセルで既存数値を税抜きに...
-
エクセル・・色の着いたセルの...
-
オートフィルを列すべて(一番...
-
Excelで数値をgからkgへ(÷1000)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
名簿の漢字名を関数で半角カナ...
-
EXCELで縦の行全てに一括して文...
-
Excelのテーブル上のセルの保護...
-
【エクセル】入力規則のプルダ...
-
エクセルでエンターを押すと隣...
-
EXCEL 連動したドロップダウン...
-
エクセルで行の一番上にセルに...
-
エクセルで決められた合計にな...
-
空白部分に連番の数字を記入し...
-
エクセルで休日の「休」という...
-
エクセルで空白に自動で文字を...
-
エクセルで年を1年ずつ増やすや...
-
エクセルのオートフィル機能で...
-
オートフィルを列すべて(一番...
-
EXCELのNOW()関数の...
-
エクセルの数式を等間隔にオー...
-
指定した行に飛ぶ事って可能で...
-
Excelでセルを次の行の先頭の列...
-
エクセルで既存数値を税抜きに...
-
Excelの値を1減らす
おすすめ情報