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

f:id:yshgs_elec:20200906223311j:plain

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

 

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

 

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

 

スポンサーリンク

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

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

 

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

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

データに抜けがあるサンプルデータ

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

 

スポンサーリンク

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

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

 

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

Msgbox  “***”

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

 

Msgbox  変数 & “***”

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

 

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

 

スポンサーリンク

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

以下が実行コードです。

 

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

Sub Blank_Alert()
    Dim i As Integer
    Dim item_name As String
    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です。

 

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

 

以下が実行結果です。

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

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

メッセージボックスで欠損データに警告をしている様子

 

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

メッセージボックスで欠損データに警告をしている様子

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

 

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

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

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

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

Sub Blank_Alert()
    Dim i As Integer
    Dim item_name As String
    Dim blank_item As String
    Dim for_message As String
    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

以下が実行結果です。

 

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

メッセージボックスで欠損データに警告をしている様子

 

スポンサーリンク

おわりに

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

 

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

 

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

 

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

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

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

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

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

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

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

最後に・・・

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

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

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

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

それではまた!!

オススメ記事

www.higashisalary.com

www.higashisalary.com

コメント

タイトルとURLをコピーしました