🚀
Excelの「#N/A」判定用マクロ
はじめに
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