Excel VBAの基本構文

目次

VBAの開発環境 変数の宣言とデータ型 基本的な操作 条件分岐 ループ処理 配列 関数とサブプロシージャ Excelオブジェクトの操作

VBA

EXCEL VBAについて 変数と演算子について セル操作について シート操作について ブック操作について For文について IF文について Case文について 業務効率VBA10例 トップへ戻る

VBAの開発環境

VBEの起動

VBAの開発環境であるVBE(Visual Basic Editor)を起動するには、以下の手順を実行します。

  1. Excelを開きます。
  2. Alt + F11キーを押してVBEを起動します。

モジュールの作成

  1. VBEでInsertメニューをクリックし、Moduleを選択します。
  2. 新しいモジュールが作成され、コードを記述できるようになります。

変数の宣言とデータ型

下記の例では、xは整数型、yは倍精度浮動小数点数型、nameは文字列型、isActiveはブール型の変数として宣言されています。

VBAでは、Dimキーワードを使って変数を宣言します。データ型も指定できます。

Dim x As Integer
Dim y As Double
Dim name As String
Dim isActive As Boolean
                

変数に値を代入するには、=演算子を使用します。

x = 10
y = 3.14
name = "Alice"
isActive = True
                

基本的な操作

メッセージボックスの表示

Sub ShowMessage()
    MsgBox "Hello, VBA!"
End Sub
                

セルに値を入力

Sub EnterValues()
    Range("A1").Value = "Hello"
    Range("B1").Value = "World"
End Sub
                

条件分岐

If...Then...Else文

Sub CheckValue()
    Dim score As Integer
    score = 85

    If score >= 90 Then
        MsgBox "Excellent"
    ElseIf score >= 70 Then
        MsgBox "Good"
    Else
        MsgBox "Needs Improvement"
    End If
End Sub
                

ループ処理

For...Nextループ

Sub ForLoopExample()
    Dim i As Integer
    For i = 1 To 10
        Debug.Print i
    Next i
End Sub
                

Do...Loop

Sub DoLoopExample()
    Dim count As Integer
    count = 1
    Do While count <= 10
        Debug.Print count
        count = count + 1
    Loop
End Sub
                

配列

配列の宣言と操作

Sub ArrayExample()
    Dim arr(1 To 5) As Integer
    Dim i As Integer
    
    For i = 1 To 5
        arr(i) = i * 10
    Next i
    
    For i = 1 To 5
        Debug.Print arr(i)
    Next i
End Sub
                

関数とサブプロシージャ

サブプロシージャ

Sub Greet()
    MsgBox "Hello, World!"
End Sub
                

関数

Function AddNumbers(a As Integer, b As Integer) As Integer
    AddNumbers = a + b
End Function
                

Excelオブジェクトの操作

ワークシートの追加

Sub AddWorksheet()
    Worksheets.Add().Name = "NewSheet"
End Sub
                

セルのフォーマット変更

Sub FormatCells()
    With Range("A1:B2")
        .Font.Bold = True
        .Interior.Color = RGB(255, 255, 0)
    End With
End Sub