![見出し画像](https://assets.st-note.com/production/uploads/images/149993870/rectangle_large_type_2_f65986a187f876c35ac34030796b72a1.png?width=1200)
【マクロ入門#4】Excel VBAの基本構文:変数・条件分岐・繰り返し
このブログでは、エクセルのマクロについて、ゼロからコードを書くのではなく、すでに存在するコードを読み、理解し、そして自分の業務に応じて組み合わせる方法を学んでいきます。
プログラミングの知識がなくても、コードの意味を読み取ることで、業務効率を劇的に向上させることができます。
目標は、コードを書けるようになることではなく、必要なコードを見つけ、それを自分の目的に合わせて使いこなせるようになることです。
日々の業務で役立つマクロの活用方法を、一緒に学んでいきましょう。
各項目に、【トレーニング】を用意しているので、ぜひ挑戦してみてください。
はじめに
Excelのマクロプログラミング(VBA)を効果的に利用するには、プログラミングの基本的な構造を理解することが不可欠です。
この記事では、VBAにおける変数の使用方法、条件分岐、繰り返し処理について詳しく解説します。
これらの概念をマスターすることで、より複雑なタスクを自動化するマクロを作成できるようになります。
1. 変数
変数はデータを一時的に格納するための場所です。
変数に値を格納することで、プログラム内で何度もその値を利用したり、計算に用いたりすることができます。
ここでは、変数を使用するための、宣言について解説していきます。
変数の宣言の基本構文:
Dim 変数名 As データ型
変数はデータを一時的に保持するために使用されます。Dim文を使って変数を宣言し、データ型を指定することで、その変数が何を格納するかを定義します。
変数の宣言と使用例
Sub 変数()
'ageという変数に30を代入
Dim age As Integer
age = 30
MsgBox "年齢は" & age & "歳です。" 'MsgBoxで表示
End Sub
この例では、[age]という変数を[Integer(整数型)]で宣言し、30を代入しています。MsgBox関数を使用して、その値をメッセージボックスで表示しています。
【トレーニング】
(1) 年齢を20歳に変更してみましょう。
(2) Excelシートの("A1")に好きな数字を入力し、MsgBoxで表示してみましょう。
2. 条件分岐
条件分岐を使用すると、条件に応じて異なる処理を行うことができます。最も一般的な条件分岐の構文はIf...Elseです。
条件分岐の基本構文:
If 条件式 Then
処理
End If
If文を使用すると、指定された条件式が真(True)の場合にのみ、処理を実行します。条件が満たされない場合は、処理はスキップされます。
条件分岐の例:
Sub 条件分岐()
'scoreという変数に65を代入
Dim score As Integer
score = 65
If score >= 70 Then 'scoreが70以上の場合は「合格です。」と表示
MsgBox "合格です。"
Else
MsgBox "不合格です。" 'scoreが70未満の場合場合は「不合格です。」と表示
End If
End Sub
このコードは、スコアが70以上の場合は「合格です。」と表示し、そうでない場合は「不合格です。」と表示します。
【トレーニング】
(1) 合格基準を60点にしてみましょう。
3. 繰り返し処理
繰り返し処理を使用すると、同じコードを何度も実行することができます。何回も同じ作業をする場合これで一撃です。基本的な構文は、For...NextとDo While...Loopで処理を実行します。
ループの基本構文:
For 変数 = 開始値 To 終了値
処理
Next 変数
Forループを使用すると、指定された開始値から終了値までの範囲で、処理を繰り返し実行できます。ループごとに変数が自動で更新され、定義された範囲内で操作を行います。
For...Nextループの例:
Sub For繰り返し()
Dim i As Integer
For i = 1 To 5
MsgBox i & "回目のループです。"
Next i
End Sub
この例では、1から5までの数字をメッセージボックスで表示しています。各繰り返しでiの値が1ずつ増加します。
【トレーニング】
(1) MsgBoxの表示を10から15までに変更してみましょう。
Do While...Loopループの例:
Sub Do繰り返し()
Dim i As Integer
i = 1
Do While i <= 5
MsgBox i & "回目のループです。"
i = i + 1
Loop
End Sub
このループは条件がTrueである間(この場合、iが5以下である間)繰り返されます。各ループの最後でiを1増やしています。
【トレーニング】
(1) MsgBoxの表示を10から15までに変更してみましょう。
まとめ
この記事で紹介した変数、条件分岐、繰り返し処理は、Excel VBAでのプログラミングの基本です。これらの基本的な構造を理解し、自分のニーズに合わせてマクロを作成することで、日々の作業を効率化し、時間を節約することができます。
次回は、ワークシートの操作について解説していきます。ぜひ、チェックしてみてください。
次回予告
・【マクロ入門#5】Excel VBAでのワークシート操作の基本