If...Then...Else 条件と Select Case 条件のチェックに加えて、次のチェックも使用できます。
IsNumeric (前のレッスンで使用した関数) は、値が数値の場合は TRUE (TRUE) を返し、 - が数値でない場合は FALSE (FALSE) を返します。
If IsNumeric(Range("A1")) = True Then '値が数値の場合...
次のコードは、前のコードと同じ効果を生成します (構成自体が条件チェックであるため、 = True を含める必要はありません)。
If IsNumeric(Range("A1")) = True Then '値が数値の場合...
値が数値ではないかどうかを確認したい場合は、次の 2 つの方法で行うことができます。
If IsNumeric(Range("A1")) = False Then '値が数値ではない場合...
If Not IsNumeric(Range("A1")) Then '値が数値ではない場合 ...
IsNumeric に似た関数をさらにいくつか見てみましょう。
If IsDate(Range("A1")) Then '値が日付の場合 ...
If IsEmpty(Range("A1")) Then '空の場合...
If var_object Is Nothing Then 'オブジェクトが定義されていない場合 ...
変数の型に基づいてコマンドを実行するには、VarType 関数を使用する必要があります。
「=」記号を入力するとすぐに、変数タイプのリストが表示されます。
If VarType(my_variable) = vbInteger Then 'my_variable が変数タイプ Integer の場合 ...
定数の値:
定数 | 価値 |
---|---|
vbEmpty | 0 |
vbNull | 1 |
vbInteger | 2 |
vbLong | 3 |
vbSingle | 4 |
vbDouble | 5 |
vbCurrency | 6 |
vbDate | 7 |
vbString | 8 |
vbObject | 9 |
vbError | 10 |
If VarType(my_variable) = vbInteger Then 'my_variable が変数タイプ Integer の場合 ... '以下と同一です: If VarType(my_variable) = 2 Then 'my_variable が変数タイプ Integer の場合 ...
少し前に、次のコード スニペットを使用しました。
my_variable = "Example 12345" If my_variable = "Example 12345" Then '=> TRUE (TRUE)
この場合、2 つのテープは同じですが、変数に値「12345」が含まれているかどうかを確認したいとします。他の文字を考慮せずに、Like コマンドと、探している値の前後に演算子 * (アスタリスク) を使用する必要があります。
演算子 * (アスタリスク) は、次のように解読されます: 任意の文字または文字セット:
my_variable = "Example 12345" If my_variable Like "*12345*" Then '=> TRUE (TRUE)
演算子 # (ハッシュ) は、0 ~ 9 の任意の単一の数字としてデコードされます。
my_variable = "Example 12345" If my_variable Like "Example 12###" Then '=> TRUE (TRUE)
オペレーター? (疑問符) は次のように解読されます: 任意の 1 文字:
my_variable = "Example 12345" If my_variable Like "?xample?1234?" Then '=> TRUE (TRUE)
特定の文字または文字セットを同じ方法で使用することもできます。
my_variable = "Example 12345" If my_variable Like "[DEF]xample 1234[4-7]" Then '=> TRUE (TRUE)
オペレーター! [ の後に追加された (感嘆符) は、角括弧で囲まれていない任意の文字を意味します。
my_variable = "Example 12345" If my_variable Like "[!GHIJ]xample 1234[!6-9]" Then '=> TRUE (TRUE)