Vba: 「セルに次の値が含まれている場合」の簡単な数式
VBA で「セルに次の値が含まれている場合」の数式を使用するには、次の基本構文を使用できます。
Sub IfContains()
Dim i As Integer
For i = 2 To 8
If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
Result = " Contains Turtle "
Else
Result = “ Does Not Contain Turtle ”
End If
Range(" B " & i) = Result
Next i
End Sub
この特定の例では、範囲A2:A8内の各セルに「タートル」が含まれているかどうかを確認し、範囲B2:B8内の一致する各セルに「タートルを含む」または「タートルを含まない」を割り当てます。
注: Instrメソッドは文字列に別の文字列が含まれているかどうかを確認し、 LCaseメソッドはテキストを小文字に変換して大文字と小文字を区別しない検索を実行します。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で「セルに次が含まれている場合」を使用する方法
Excel に次のような、それぞれに異なるテキストが含まれるセルのリストがあるとします。
範囲A2:A8の各セルにテキスト「turtle」が含まれているかどうかを確認し、その結果を範囲B2:B8の対応するセルに表示するとします。
これを行うには、次のマクロを作成できます。
Sub IfContains()
Dim i As Integer
For i = 2 To 8
If InStr(1, LCase(Range(" A " & i)), " turtle ") <> 0 Then
Result = " Contains Turtle "
Else
Result = “ Does Not Contain Turtle ”
End If
Range(" B " & i) = Result
Next i
End Sub
このマクロを実行すると、次の出力が表示されます。
列 B は、列 A の対応するセルにテキストのどこかに「カメ」が含まれているかどうかを示します。
注: VBA Instrメソッドの完全なドキュメントはここにあります。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。