ヒガサラblog

サラリーマン向けに、仕事を効率良く進めていくための方法についてご紹介しています。プログラミングから対人スキルまでを幅広く掲載中。

ヒガサラblog

【エクセルVBA】空白データに警告表示する方法!見落とし防止対策!

f:id:yshgs_elec:20200906223311j:plain

VBAを使って必要なデータを自動取得してるんだけど、時々データが飛んでいることがある。見落とし防止のために警告を表示したい。

 

この記事ではこんな悩みを解決します。

 

実行したVBAコードの最後に付け加えるだけで、簡単にミスを防止できるようになりますので、ぜひ最後までご覧ください。

 

 

やりたいことのイメージ共有

本題に入る前に、この記事で紹介する内容を共有化しておきましょう。

以下のように必要なデータを自動で取得しましたが、一部のデータに抜けがあった場合を想定しています。

すべての処理を自動で実行していると、このような抜けに気づかずに、ミスをしてしまうこともあると思います。

f:id:yshgs_elec:20200906220945j:plain


この記事では、データ収集の処理を実行したあとに、抜けているデータの項目を警告表示してくれる方法についてご紹介します。

 

 

メッセージを表示するコード:Msgboxについて

今回はMsgboxというコードを使用することによって、VBA実行中にメッセージを表示するという手法をとります。

このMsgboxの使い方としては、

Msgbox  "***"

****の部分には表示したい文言を記入すればOKです。

Msgbox  変数 & "***"

のような使い方も可能です。

 

では実際の使用例を見ていきましょう。

欠損データに対して警告表示するVBAコード

 以下が実行コードです。

今回はメッセージボックスという機能を使っています。

Sub Blank_Alert()
i = 1
Do Until Cells(i, 1) = ""
item_name = Cells(i, 1)
If Cells(i, 2) = "" Then
MsgBox item_name & "がありません。"
End If
i = i + 1
Loop
End Sub

 

※今回はA列にデータの項目、B列に取得データが記入されているという前提でコードを記入しておりますので、あなたの処理内容に応じて適宜、検索範囲を書き換えてください。基本的にはcells(*,*)の部分を修正すればOKです。

 

記述が終わったらあとは実行するのみ!

 

いざ実行!!

 

以下が実行結果です。

まずは一つ目の欠損データである従業員数。

きちんと空白であることを表示してくれていますね。

f:id:yshgs_elec:20200906221856j:plain

創立年についても同様です。

f:id:yshgs_elec:20200906221911j:plain

こちらも問題なく警告が表示されていますね。 

 

 

 また、欠損データが多い場合、

■何度も警告が出てめんどうだ

■一度の警告ですべて表示してほしい

という方は以下のコードに書き換えることで、警告を一度にまとめることが可能になります。

 

Sub Blank_Alert()
i = 1
Do Until Cells(i, 1) = ""
item_name = Cells(i, 1)
If Cells(i, 2) = "" Then
blank_item = blank_item & item_name & "と"
End If
i = i + 1
Loop
If blank_item <> "" Then
for_message = Left(blank_item, Len(blank_item) - 1)
MsgBox for_message & "がありません。"
Else
End If
End Sub

 

以下が実行結果です。

一つの警告で欠損データを教えてくれていますね。

f:id:yshgs_elec:20200906224258j:plain

 

終わりに

というわけで今回は、VBA実行中に欠損データにたいして警告表示をする方法についてご紹介しました。

業務を自動化することはすばらしいことですが、それによってミスを誘発してしまうこともあります。

この記事で紹介したような警告を要所でいれておくことによって、その確率はぐっと減らせるはずです。ぜひ使い方をマスターしておきましょう。

 

このブログでは、エクセル(VBA)を中心に、様々な業務効率化スキルを紹介しています。

■もっと業務を効率的に行いたい。

■しょうもないミスを減らしたい。

こんな人はぜひ他の記事も読んでみてください。

きっとお役にたてることがあるはずです。

 

また、VBAを使ってこんなことがしたいんだけど、やり方がわからない、という悩みを抱えているかたは、お気軽にコメント欄から質問してください。

私にわかる範囲であればご協力いたしますので。(もちろん無料です。)

 

最後に・・・

このブログを応援してあげても良いよ、という方は以下のボタンをポチっていただけると嬉しいです。

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

にほんブログ村 IT技術ブログへ
にほんブログ村

 

Twitterもやっていますので、興味があれば覗いてみてください。

それではまた!!

 

関連記事

www.higashisalary.com

www.higashisalary.com