Vba で isna を使用する方法 (例あり)
VBA でIsNAメソッドを使用すると、特定のセルに#N/Aが含まれているかどうかを確認できます。
この関数は、セルに#N/Aが含まれている場合はTRUEを返し、そうでない場合はFALSE を返します。
このメソッドを実際に使用する一般的な方法は次のとおりです。
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
この特定のマクロは、範囲A2:A10の各セルに#N/Aが含まれているかどうかをチェックします。
セルに#N/Aが含まれる場合、範囲B2:B10内の対応するセルにTRUEが返されます。
それ以外の場合は、 FALSEが返されます。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で IsNA を使用する方法
Excel に次の値の列があるとします。
列 A の各セルに#N/Aが含まれているかどうかを確認したいとします。
これを行うには、次のマクロを作成できます。
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
Range("B" & i) = WorksheetFunction.IsNA(Range("A" & i))
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 B には、列 A 内の一致する各セルが#N/Aに等しいかどうかを示す結果が表示されます。
空のセルは#N/Aと同じではないことに注意してください。空のセルが見つかった場合、 IsNAメソッドはFALSEを返します。
Ifステートメントを使用すると、 TRUEとFALSE以外の値を返すことができることにも注意してください。
たとえば、次のマクロを作成できます。
Sub UseIsNA()
Dim i As Integer
For i = 2 To 10
If WorksheetFunction.IsNA(Range("A" & i)) Then
Range("B" & i) = "Cell Contains #N/A"
Else
Range("B" & i) = "Cell Does Not Contain #N/A"
End If
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 B には、列 A の対応するセルに#N/Aが含まれるかどうかを示す特定のテキストが含まれます。
注: VBA IsNAメソッドの完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBAで文字列をintに変換する方法
VBAで文字列をdoubleに変換する方法
VBAで文字列に別の文字列が含まれているかどうかを確認する方法