VBA 文法

繰り返しfor
繰り返しの例です。Cell(i,j) はシートの i 行 j 列を意味します。セルに 0から5までの値を代入します。
Sub Fill()
Dim i As Integer, count As Integer
 count = 0
 For i = 0 To 5
  count = count + 1
  Cells(1, count).Value = i
 Next i
End Sub

VBAの構造

 プロジェクトが Book に対応し、モジュールの集まりがシートに対応します。モジュールは複数のプロシージャ(Sub,Func)の集まりです。
繰り返し 
while 繰り返しには、while も利用できます。以下はセルに順に値を記録します。
i=1;
Do While i < 11
   Worksheets("Sheet1").Cells(i, 1).
   Value = i
   i = i + 1
 Loop

MsgBox
実行時に指定した文字列をポップアップウインドウに表示し、確認を求めます。
MsgBox ("メッセージのテスト1")

変数の型と型宣言文字
 変数には、 Boolean, Byte, Integer(%), Long(&), Currency(@), Single(!), Double(#), Decima, Date, String($), Object, Variant があります。変数名は As で型宣言しますが、()内の文字を最後につけて、暗黙の型宣言とすることができます(# のみ変数名の前)。
 Dim i As int;
 Static st1,st2 As String

変数の有効範囲
変数は、記憶の単位です。プロシージャ内部で宣言された変数は内部でのみ有効です。Dimは動的、Staticは静的に確保します。
 プロシージャ外部で定義された変数は、Public 指定があると、モジュール間で有効、private の場合、定義モジュールでのみ有効です。

with句
シートなどの上位オブジェクトから、下位の構造まで、列挙するのは面倒です。同じ構造を利用するとき、withを用いて省略可能です。
With Worksheets("Sheet1").Cells(1, 1)
    .Activate
    .Value = "WithTest" '値
    With .Font
        .Size = 14  '文字サイズ
        .Bold = True  '太文字
        .FontStyle = "HG教科書体"  '書式
    End With
    .Interior.ColorIndex = 6  'セルの色
    .RowHeight = 20  'セルの高さ
    .ColumnWidth = 10  'セルの幅
 End With
Sub と if
 Subはプロシージャの開始で、End Sub で終了します。以下は If 文の構造です。MsgBox は表示ウインドウを作成して、文字列を表示します。 行末の区切り記号は改行になり、次の行と分離します。
Sub age()
 Dim num As Integer
 num = 22
 If num < 20 Then
  MsgBox "未成年"
 Else
  MsgBox "成人"
 End If
End Sub

配列
 変数宣言で、変数名の後に、(サイズ)を付記すると、配列として利用できます。
 Dim hairetsu(3) As Integer
 hairetsu(0) = 1
 hairetsu(3) = 3
要素の指定にも、(値)を指定します。