PR

プログラミングは「変数」を理解することでスキルは格段にアップする

プログラミング編

Excel VBAでプログラミングを始める上で、避けて通れないのが「変数」の理解です。変数は、データを一時的に記憶しておくための「」のようなもので、VBAコードを効率的かつ柔軟に記述するために不可欠です。

この記事では、VBA変数の基本から、宣言方法、データの種類(型)、そして使用する上での重要なポイントをわかりやすく解説します。

1. そもそも変数とは?

変数は、数値、文字列、日付、オブジェクトなど、様々な種類のデータを格納するために使用されます。プログラムが実行される際、これらのデータはメモリ上に一時的に保持され、必要に応じて取り出したり、変更したりすることができます。

メリット

  • データの再利用: 同じ値を何度もコードに書かずに済みます。

  • コードの柔軟性: 計算結果やユーザーの入力によって値が変わる処理を記述できます。

  • 可読性の向上: 意味のある名前を付けることで、コードが何をしているのか理解しやすくなります。

2. 変数の宣言(Dimステートメント)

VBAで変数を使うには、まずその変数を「こういう名前で、この種類のデータを入れますよ」と宣言する必要があります。宣言には主に Dim ステートメントを使用します。

Dim 変数名 As データ型

  • Dim: Dimension(ディメンション)の略で、「変数を宣言します」という意味です。

  • 変数名: 自分で決める変数の名前です(例: i, rowCount, userName)。

  • As データ型: その変数にどのような種類のデータを格納するかを指定します。

Dim counter As Integer ‘ 整数を格納する変数
Dim totalAmount As Double ‘ 小数点を含む数値を格納する変数
Dim customerName As String ‘ 文字列を格納する変数
Dim todayDate As Date ‘ 日付と時刻を格納する変数

Option Explicit のススメ

モジュールの先頭に Option Explicit と記述することを強く推奨します。

Option Explicit

これを記述すると、宣言されていない変数の使用がエラーとなり、スペルミスなどによる意図しないバグを防ぐことができます。プロの現場では必須のテクニックです。

3. 主要なデータ型(As データ型)

格納したいデータの種類に合わせて適切なデータ型を選ぶことが重要です。適切な型を選ぶことで、メモリの節約や処理速度の向上につながります。

データ型 格納できるデータ 用途の例
Long 非常に大きな整数 (±20億まで) 行数、列数、大きな合計値
Integer 小さめの整数 (±32,767まで) 小さなループカウンター、回数
Double 小数点を含む数値 金額、計算結果、平均値
String 文字列 氏名、ファイルパス、メッセージ
Boolean 真偽値 (True または False) 条件のON/OFF、フラグ
Date 日付と時刻 日付計算、タイムスタンプ
Object Excelのオブジェクト(シート、セルなど) Worksheet, Range, Workbook
Variant すべての種類のデータ 何が入るかわからない場合 (メモリ消費大)

4. 変数の値の代入と利用

変数を宣言したら、= 演算子を使って値を格納(代入)します。

Sub 変数の使用例()

‘ 1. 変数の宣言
Dim rowCount As Long
Dim msg As String
Dim isFinished As Boolean

‘ 2. 値の代入
rowCount = Cells(Rows.Count, “A”).End(xlUp).Row ‘ A列の最終行番号を取得
msg = “データ処理が完了しました。”
isFinished = True

‘ 3. 変数の利用
If rowCount > 1 Then
MsgBox “データは ” & rowCount & ” 行あります。”
Else
MsgBox “データがありません。”
End If

If isFinished = True Then
Range(“A1”).Value = msg
End If

End Sub

Object変数の代入

RangeWorksheet といったオブジェクト型の変数に値を代入する場合は、Set キーワードが必要です。

Dim ws As Worksheet
‘ Setを使ってオブジェクトを参照
Set ws = ThisWorkbook.Sheets(“データ入力”)

ws.Range(“B2”).Value = “OK”

5. まとめと次のステップ

VBA変数とは、データを格納する箱であり、コードの柔軟性と可読性を高めるための基本要素です。

  • Dim ステートメントで変数を使用前に宣言する。

  • As キーワードで適切なデータ型を指定する。

  • オブジェクト変数の代入には Set を使う。

  • バグを防ぐためにモジュールの先頭に Option Explicit を記述する。

変数を使いこなせるようになれば、あなたのVBAコードは一気にプログラミングらしく、強力になります。

この記事を書いているのは、【Excel問題解決Lab.】筆者「16時間」を「5秒処理」化。 Excelユーザー歴25年の経歴を持つ筆者が解説。過去には、事務員さんの年間約192時間の工数削減を実現。削減できた時間は、より付加価値の高い分析業務に充てられるようになり、社内の生産性向上と業務省力化に貢献。

タイトルとURLをコピーしました