Excel VBAの概要

目次

基本構文 主要な構造 Excel操作の例 実用的なマクロ

VBA

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

基本構文

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...NextDo...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