- ベストアンサー
エクセルで未入力セルを警告する方法
A1~A20列にデータを入力していくのですが、セルに値のの入力が無い場合にそのセルの番地(?)を、メッセージBOXで「A**」にデータが入力されていません」というように、警告するようにしたいのですが、入力されていないセルの番地を取得するにはどうしたらよいでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
> マクロ実行時にメッセージを出す方法を考えておりました。 merlionXXです。 それなら標準モジュールに以下のように記述してください。 Sub Sample() On Error GoTo line myAdr = Sheets("Sheet1").Range("A1:A20").SpecialCells(xlCellTypeBlanks).Address(0, 0) MsgBox myAdr & " に入力がありません!", vbCritical line: End Sub
その他の回答 (5)
- merlionXX
- ベストアンサー率48% (1930/4007)
どのシートのA1~A20でしょうか? どのタイミングでメッセージをだすのでしょうか? ご記入がないのでSheet1のA1~A20のどれかが空白のまま終了しようとした場合に警告を出すようにします。 VBEでThisWorkbookモジュールに以下をコピペしてみてください。 Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error GoTo line myAdr = Sheets("Sheet1").Range("A1:A20").SpecialCells(xlCellTypeBlanks).Address(0, 0) Cancel = True MsgBox myAdr & " に入力がありません!", vbCritical line: End Sub
お礼
回答ありがとうございます。 質問内容にかなり不備が有り申し訳ありません。 マクロ実行時にメッセージを出す方法を考えておりました。
- hige_082
- ベストアンサー率50% (379/747)
こんな感じ? Sub test() Dim Rng As Range Dim NoData As String For Each Rng In Range("a1:a20") If Rng.Value = "" Then If NoData = "" Then NoData = Rng.Address(0, 0) Else NoData = NoData & "," & Rng.Address(0, 0) End If End If Next If NoData = "" Then Exit Sub MsgBox NoData & "にデータが入力されていません" End Sub
お礼
回答ありがとうございます。 凄く参考になりました。
- tom04
- ベストアンサー率49% (2537/5117)
No.2です! たびたびごめんなさい。 空白セル番地を取得したいって事なのですね? VBAだと出来そうな感じですが・・・ちょっと判りません。 セル番地取得までは行きませんが、 B1セルに =IF(COUNTIF(A1:A20,"")>0,"未入力セルが"&COUNTIF(A1:A20,"")&"箇所あります","") としてみてはどうでしょうか? なんか無理矢理って感じですが、 この程度の回答でごめんなさい。m(__)m
お礼
セルに書式入れる方法ですね。 今回は使えないのですが、回答ありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 私もNo.1さんの回答のように条件付書式を使えばいいと思いました。 A1~A20を範囲指定 → 書式 → 条件付書式 → セル値が 次の値に等しい として ="" と入力 → 書式 → パターンから塗りつぶしの色を選択してはどうでしょうか? 空白セルのみ色がつくはずです。 当方使用のExcel2003での回答でした。 以上、参考になれば幸いです。m(__)m
- gyouda1114
- ベストアンサー率37% (499/1320)
A1~A20に条件付き書式を設定 数式が A1="" 書式に塗りつぶしの色を設定 空白の時、塗りつぶしの色をつける。入力されると色が消える すなわち、入力されていないセルには色が付いている。
お礼
素早いお返事ありがとうございます。 そう言う方法もあるのですねぇ今後の参考にさせていただきます。 今回は、メッセージを表示させたいという考えがあるので...
お礼
何度もありがとうございます。 VBAも奥が深いようで、頑張って覚えていこうと思います。 参考にさせていただいて、頑張ってみようと思います。