基本構文
VBAの基本的な構文について説明します。
' Hello Worldプログラム
Sub HelloWorld()
MsgBox "Hello, World!"
End Sub
主要な構造
変数の宣言
変数を宣言するには、Dim
キーワードを使用します。
Dim message As String
message = "Hello, VBA!"
条件分岐
条件分岐にはIf...Then...Else
文を使用します。
Dim score As Integer
score = 85
If score >= 90 Then
MsgBox "Excellent"
ElseIf score >= 70 Then
MsgBox "Good"
Else
MsgBox "Needs Improvement"
End If
ループ処理
ループ処理にはFor...Next
やDo...Loop
を使用します。
' For...Nextループの例
Dim i As Integer
For i = 1 To 10
Debug.Print i
Next i
' Do...Loopの例
Dim count As Integer
count = 1
Do While count <= 10
Debug.Print count
count = count + 1
Loop
Excel操作の例
セルに値を入力
セルに値を入力する基本的な方法です。
Sub EnterValues()
Range("A1").Value = "Hello"
Range("B1").Value = "World"
End Sub
範囲を選択して操作
範囲を選択してデータを操作する例です。
Sub FormatCells()
With Range("A1:B2")
.Font.Bold = True
.Interior.Color = RGB(255, 255, 0)
End With
End Sub
ワークシートの追加
新しいワークシートを追加する方法です。
Sub AddWorksheet()
Worksheets.Add().Name = "NewSheet"
End Sub
実用的なマクロ
例題1: 範囲の合計を計算
指定した範囲の合計を計算し、メッセージボックスで表示するマクロです。
Sub SumRange()
Dim total As Double
total = Application.WorksheetFunction.Sum(Range("A1:A10"))
MsgBox "範囲A1:A10の合計は " & total & " です。"
End Sub
例題2: ユーザーフォームを使用
ユーザーフォームを使用してユーザーから入力を受け取り、セルに値を入力する例です。
' UserFormのコード
Private Sub CommandButton1_Click()
Dim userInput As String
userInput = TextBox1.Value
Range("A1").Value = userInput
Unload Me
End Sub
' モジュールのコード
Sub ShowForm()
UserForm1.Show
End Sub