🚀

Excelの「#N/A」判定用マクロ

2024/12/25に公開

はじめに

Excelのvlookup関数で突合した結果、ヒットしなかった場合に「#N/A」が表示されます。
「#N/A」を判定するマクロを作りました。

マクロ実行前のデータ

マクロ実行前のデータは以下の画像です。

実装したソースコード

実装したソースコードは下記になります。

Sub research_member()
    
    ' 画面更新を無効にする
    Application.ScreenUpdating = False
    
    'ワークシートオブジェクトインスタンス変数
    Dim ws1 As Worksheet
    '開始行、最終行の変数定義
    Dim first_row_num, last_row_num As Long
    'カウント変数の定義
    Dim i As Long
    'VLOOKUP結果変数定義
    Dim result_name As String
    
    'ws1、ws2のセット
    Set ws1 = ThisWorkbook.Worksheets("Sheet1")
    '開始行、最終行をセット
    first_row_num = 3
    last_row_num = ws1.Cells(Rows.Count, 2).End(xlUp).Row
    
    
    '開始行から最終行まで読み込む
    For i = first_row_num To last_row_num
        result_name = CStr(ws1.Cells(i, 3))
        '「#N/A」だったら判定列に「現役メンバーじゃないよ!」、違う場合「現役メンバーだよ!」を出力する
        If result_name = CStr(CVErr(xlErrNA)) Then
            ws1.Cells(i, 4).Value = "現役メンバーじゃないよ!"
        Else
            ws1.Cells(i, 4).Value = "現役メンバーだよ!"
        End If
    Next i
    
    
    'ファイルを保存
    ThisWorkbook.Save
    'インスタンスを無効化する
    Set ws1 = Nothing
    
    
End Sub

マクロを実行した結果

実行した結果は下記の画像です

最後に

こんな方法で判定すればいいのですね。調べた甲斐がありました。

Discussion