対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016
「vbaでisna関数の表記方法」
「excel vba ワークシート関数 isna」
「エクセル マクロ アプリケーション関数 isna」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、時折あることに気づきました。
これらの検索キーワードを素直に解釈すれば、ワークシート関数のISNA関数を、VBA(Visual Basic for Applications)から入力する方法、または利用する方法を探していたのでしょうか。
(本当はそうではないのでは、という予感もあるのですが...)
[スポンサードリンク]
VBAからISNA関数を入力するサンプルマクロ
以下のようなマクロで、「=ISNA(A1)」という数式をB1セルに入力することができます。
Sub ISNA関数をVBAで入力する()
Cells(1, "B").FormulaR1C1 = "=ISNA(R[0]C[-1])"
End Sub
Cells(1, "B").FormulaR1C1 = "=ISNA(R[0]C[-1])"
End Sub
ループ処理の中で数式を入力するような場合、上記のR1C1形式が便利なことが多いと感じますが、A1形式で入力するのならば、
Cells(1, "B").Formula = "=ISNA(A1)"
です。
VBAからISNA関数を利用するサンプルマクロ
VBAから、ISNA関数を利用するのならば、以下のマクロが参考になるでしょう。
Sub ISNA関数をVBAから利用する()
If WorksheetFunction.IsNA(Cells(1, "A").Value) Then
MsgBox "#N/A エラーです!"
Else
MsgBox "#N/A エラーではありません。"
End If
End Sub
If WorksheetFunction.IsNA(Cells(1, "A").Value) Then
MsgBox "#N/A エラーです!"
Else
MsgBox "#N/A エラーではありません。"
End If
End Sub
A1セルが#N/Aエラーなら
「#N/A エラーです!」
そうでなければ
「#N/A エラーではありません。」
というメッセージが表示されます。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » WorksheetFunction » VBAからISNA関数を入力する・利用する