変数/式の状態をチェックする(チェックを行なう8種類のIs関数)
 変数などの値をチェックする関数は、意図しない結果が起こらないように
コーディングするためには、是非覚えておきたい機能です。値をチェックする
関数には、次の一覧に挙げるようなものがあります。

・値をチェックする関数一覧
関数名          内容
IsDate関数      値を日付型に変換可能かどうかをチェック
IsNumeric関数   値を数値として評価できるかどうかをチェックする
IsObject関数    識別子がオブジェクトかどうかをチェックする
IsEmpty関数     値がEmptyかどうかを調べる
IsError関数     式がエラー値を持つかをチェック
IsMissing関数   省略可能な変数がプロシージャに渡されたかをチェック
IsNull関数      式にNull値が含まれているかをチェック
IsArray関数     変数が配列かどうかをチェック


  構文 チェックを行う関数(Var)

  設定項目  内容
  Var         チェックを行う対象を指定[省略不可]

 どの関数もBoolean型で結果が返ってきます。次のサンプルを見てください。

●サンプル●

Sub IsDateSamp1()

    Dim myDate As String
    InputDate:
    myDate = InputBox("誕生日を入力してください")
    '---キャンセル時の処理
    If myDate = "" Then
        Exit Sub
    '---(1)日付ではないデータが入力された場合
    ElseIf IsDate(myDate) = False Then
        MsgBox "日付データとして不正です"
        '---再入力
        GoTo InputDate
    Else
        MsgBox "あなたが生まれてから " & DateDiff("d", CDate(myDate), Date) & "日"
    End If
End Sub


●解説●
 ユーザーにInputBox関数で日付を入力してもらうのですが、(1)の
ステートメントで、入力値のチェックにIsDate関数を使用しています。
このように、チェックの対象となる状態に変数などがなっていない場合
にFalseを返す機能を利用し、想定外の処理がなされることを防ぎます。

●注意●
 Null値とEmpty値は間違いやすいので注意が必要です。Null値は
バリアント型(Variant)に有効なデータが入っていないことを示す値であり、
Empty値は変数が初期化されていないことを示す値です。Empty値は数値とし
ては0と評価され、文字としては長さ0の文字列("")と評価されます。

Excel2000



戻る


Excel Word Access VBA! モーグ