VBA(データ型変換)

 


加算→少なくとも一方が数値型であれば、数値となる。両方文字型の場合、連結される

減算、乗算、除算→両方文字型でも数値としての演算となる

-- 1. 開発タブの挿入でボタンを作成
ActiveXコントロールのものを使用する

-- 2. デザインモードONで作成したボタンをダブルクリックするとエディタが開くので下記コードを記載。デザインモードOFFで実行

Private Sub CommandButton1_Click()

    
    '画面を更新しない
    Application.ScreenUpdating = False
    '確認メッセージを表示しない
    Application.DisplayAlerts = False
    
    
    Dim i As Long
    Dim j As Long
    
    Dim s As String
    Dim t As String
    
    i = 1
    j = 3
    
    s = "5"
    t = "7"
    
    

    Debug.Print ""
    Debug.Print "s + t =", s + t
    Debug.Print "t + s =", t + s
    Debug.Print "s + 9 =", s + 9
    Debug.Print "9 + s =", 9 + s
    Debug.Print "s + i =", s + i
    Debug.Print "i + s =", i + s
    
    Debug.Print ""
    Debug.Print "CLng(s) + CLng(t) =", CLng(s) + CLng(t)
    Debug.Print "CLng(t) + CLng(s) =", CLng(t) + CLng(s)
    Debug.Print "CLng(s) + 9 =", CLng(s) + 9
    Debug.Print "9 + CLng(s) =", 9 + CLng(s)
    Debug.Print "CLng(s) + i =", CLng(s) + i
    Debug.Print "i + CLng(s) =", i + CLng(s)
    

    Debug.Print ""
    Debug.Print "s - t =", s - t
    Debug.Print "t - s =", t - s
    Debug.Print "s - 9 =", s - 9
    Debug.Print "9 - s =", 9 - s
    Debug.Print "s - i =", s - i
    Debug.Print "i - s =", i - s
    
    Debug.Print ""
    Debug.Print "CLng(s) - CLng(t) =", CLng(s) - CLng(t)
    Debug.Print "CLng(t) - CLng(s) =", CLng(t) - CLng(s)
    Debug.Print "CLng(s) - 9 =", CLng(s) - 9
    Debug.Print "9 - CLng(s) =", 9 - CLng(s)
    Debug.Print "CLng(s) - i =", CLng(s) - i
    Debug.Print "i - CLng(s) =", i - CLng(s)

    
    Debug.Print ""
    Debug.Print "s * t =", s * t
    Debug.Print "t * s =", t * s
    Debug.Print "s * 9 =", s * 9
    Debug.Print "9 * s =", 9 * s
    Debug.Print "s * i =", s * i
    Debug.Print "i * s =", i * s
    
    Debug.Print ""
    Debug.Print "CLng(s) * CLng(t) =", CLng(s) * CLng(t)
    Debug.Print "CLng(t) * CLng(s) =", CLng(t) * CLng(s)
    Debug.Print "CLng(s) * 9 =", CLng(s) * 9
    Debug.Print "9 * CLng(s) =", 9 * CLng(s)
    Debug.Print "CLng(s) * i =", CLng(s) * i
    Debug.Print "i * CLng(s) =", i * CLng(s)
   
    Debug.Print ""
    Debug.Print "s / t =", s / t
    Debug.Print "t / s =", t / s
    Debug.Print "s / 9 =", s / 9
    Debug.Print "9 / s =", 9 / s
    Debug.Print "s / i =", s / i
    Debug.Print "i / s =", i / s
    
    Debug.Print ""
    Debug.Print "CLng(s) / CLng(t) =", CLng(s) / CLng(t)
    Debug.Print "CLng(t) / CLng(s) =", CLng(t) / CLng(s)
    Debug.Print "CLng(s) / 9 =", CLng(s) / 9
    Debug.Print "9 / CLng(s) =", 9 / CLng(s)
    Debug.Print "CLng(s) / i =", CLng(s) / i
    Debug.Print "i / CLng(s) =", i / CLng(s)
    
    Debug.Print ""
    Debug.Print "i & j", i & j
    Debug.Print "s & i", s & i
    Debug.Print "i & s", i & s
    Debug.Print "s & t", s & t
    
    
    
    
    '確認メッセージを表示する
    Application.DisplayAlerts = True
    '画面を更新する
    Application.ScreenUpdating = True


End Sub