基本的にはVisual Basicと同じですが、一部違う箇所があります。
組み込みで定義されているデータ型の詳細は以下のとおりですhttps://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/data-type-summary 2020年10月31日閲覧。。
※配列のバイト数は以下の総和である：
Boolean→数値型https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/boolean-data-type 2020年10月31日閲覧。
参照は、必要に応じてデリファレンスされる。
  aaaa _
  bbbb _
  cccc
Ifの後に0個以上のElseif、その後に最大1個のElse節が出現することができるhttps://docs.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/using-ifthenelse-statements。
If x = 1 Then
  REM ここにxが1と等しい時の処理
Elseif y = 1 Then
  REM ここにxが1と等しくなく、yが1と等しい時の処理
Else
  REM どちらでもない時の処理
End If
はループの条件式である。
'ループに入る前にcondが評価される
Do While cond
'condがTrueの間繰り返される処理
Loop
'ループに入る前にcondが評価される
Do Until cond
'condがFalseの間繰り返される処理
Loop
'ループに入って、1回目の実行が終わった後に評価される
Do
'condがTrueの間繰り返される処理
Loop While cond
'ループに入って、1回目の実行が終わった後に評価される
Do
'condがFalseの間繰り返される処理
Loop Until cond
Do...Loopから抜けるためにはExit Doを使用する。
For...Nextは開始値、終了値、増分を指定してループを行うhttps://docs.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/using-fornext-statements。以下の例で、iはループ変数である。
' i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
For i = 0 To 10
' iを使った処理...
Next i
' i = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
For i = 0 To 10 Step 1
' iを使った処理...
Next i
' i = 0, 2, 4, 6, 8, 10 
For i = 0 To 10 Step 2
' iを使った処理...
Next i
' i = 10, 8, 6, 4, 2, 0
For i = 10 To 0 Step -2
' iを使った処理...
Next i
注釈:
For...Nextを抜ける際にはExit Forを使う。
Next iはNextと同じ意味である。
開始値、終了値、増分を小数にした場合は誤差で意図した回数にならないことがある。
For Each...Nextは、''反復可能''なオブジェクトを反復することに使われる。ユーザーが作成したクラスを''反復可能''にするためには[https://docs.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/using-for-eachnext-statements Microsoftのドキュメント]を参照。
以下に上げる演算子が存在する (完璧でないリスト)。
が数値型に変換されることがある。https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/operator-summary
を引くhttps://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/operator-summary。
を掛けるhttps://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/operator-summary。
で割るhttps://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/operator-summary。
の論理積を求める (非短絡評価)。
の論理和を求める (非短絡評価)。
Dimキーワードを使用して宣言する。
' Variant型
Dim implicitVariant
Dim explicitVariant As Variant
Dim anInteger as Integer
' インデックスが0-originか1-originかはOption Baseによる
Dim strings(3) as String
Dim zeroOriginStringArray(0 To 2) as String
Dim oneOriginStringArray(1 To 3) as String
{{コラム|Option Base|
また、複数まとめて宣言することもできる:
' 全てVariant型
Dim v1, v2, v3
' i1のみInteger型
Dim v4, v5, i1 as Integer
' 全てInteger型
Dim i2 as Integer, i3 as Integer, i4 as Integer
全ての変数をInteger型とするつもりで、4行目のように書くのは間違いである。正しくは、6行目のように全てを明示的にInteger型と宣言しなければならない。
Select Case...Case...End Selectは、値に応じて任意の数の分岐を行うことができるhttps://docs.microsoft.com/ja-jp/office/vba/language/concepts/getting-started/using-select-case-statements。C言語やJavaでいうswitchに該当する。
Select Case qty
  Case 1
    stringify = "single"
  Case 2
    stringify = "double"
  Case 3
    stringify = "triple"
  Case Else
    stringify = "many"
End Select
また、Case内で値をIsとして参照することができる:
Select Case qty
  Case 1
    stringify = "single"
  Case 2
    stringify = "double"
  Case 3
    stringify = "triple"
  Case Is < 10 ' qtyが10未満
    stringify = "many"
  Case Else
    stringify = "so many"
End Select
With文を使用することで、同一のオブジェクトに対して複数プロパティの代入のレシーバをまとめることができる。