Excel VBA | VBA 型変換関数一覧

Excel VBA VBA
スポンサーリンク

入力チェックやエラー回避に型変換関数を活用する実務サンプルをまとめました。
ユーザー入力やセル値を扱う際に、型変換を組み合わせることで「数値であるか」「日付として解釈できるか」を判定し、エラーを未然に防げます。


実務サンプル集(入力チェック+型変換)

1. 数値入力チェック(CInt / IsNumeric)

Sub CheckNumeric()
    Dim val As String
    val = Range("A1").Value
    
    If IsNumeric(val) Then
        MsgBox "数値です → " & CInt(val)
    Else
        MsgBox "数値ではありません"
    End If
End Sub
VB

👉 文字列を数値に変換できるか確認。入力が「123a」などの場合はエラーを防止。


2. 日付入力チェック(CDate / IsDate)

Sub CheckDate()
    Dim val As String
    val = Range("B1").Value
    
    If IsDate(val) Then
        MsgBox "日付です → " & CDate(val)
    Else
        MsgBox "日付ではありません"
    End If
End Sub
VB

👉 文字列を日付に変換可能か判定。誤入力(例:「2025/13/1」)を検出。


3. 空欄チェック+文字列変換(CStr)

Sub CheckEmpty()
    Dim val As Variant
    val = Range("C1").Value
    
    If Trim(CStr(val)) = "" Then
        MsgBox "未入力です"
    Else
        MsgBox "入力あり → " & CStr(val)
    End If
End Sub
VB

👉 空欄やスペースのみを検出。必須項目チェックに利用。


4. 真偽値チェック(CBool)

Sub CheckBoolean()
    Dim val As String
    val = Range("D1").Value
    
    On Error Resume Next
    MsgBox "真偽値 → " & CBool(val)
    If Err.Number <> 0 Then
        MsgBox "True/Falseに変換できません"
        Err.Clear
    End If
    On Error GoTo 0
End Sub
VB

👉 Yes/Noや0/1をTrue/Falseに変換。入力誤りを検出。


5. 安全な数値変換(CDbl+エラートラップ)

Sub SafeConvert()
    Dim val As String, num As Double
    
    val = Range("E1").Value
    On Error GoTo ERR_HANDLER
    num = CDbl(val)
    MsgBox "数値変換成功 → " & num
    Exit Sub
    
ERR_HANDLER:
    MsgBox "数値に変換できません: " & val
    Err.Clear
End Sub
VB

👉 CDblで変換できない場合にエラーをキャッチ。処理が止まらない。


✅ まとめ

  • IsNumeric / IsDate で事前チェック → 型変換エラーを防止
  • CStr / Trim で空欄やスペース入力を検出
  • On Error Resume Next と組み合わせて安全に変換
  • 実務利用例:年齢入力チェック、日付必須項目、売上金額の数値変換、フラグのTrue/False判定

👉 この仕組みを応用すれば、「入力シート全体を走査してエラー箇所を色付け」するチェックマクロも作れます。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました