Access VBAでシステム開発をしていると、
- 複数の値をまとめて管理したい
- フォームを一括初期化したい
- CSVの列名を管理したい
- 繰り返し処理を簡潔にしたい
- 保守しやすいコードを書きたい
という場面が頻繁に発生します。
Array関数を活用すると複数データを簡単にまとめて管理でき、コード量を大幅に削減できます。
実際の業務システムでは、
フォーム初期化
入力チェック
CSV取込
項目管理
レポート出力
などでよく利用されています。
初心者でもすぐに使える便利な機能なので、早い段階で習得することをおすすめします。
- Array関数とは
- なぜArray関数が重要なのか
- 逆引き① 配列を作成したい
- 逆引き② 全件ループしたい
- 逆引き③ 件数を取得したい
- 逆引き④ フォーム初期化したい
- 逆引き⑤ 必須項目チェックしたい
- CSV取込で活躍する
- 実務活用例① 顧客管理システム
- 実務活用例② CSV取込システム
- 実務活用例③ 設備管理システム
- 実務活用例④ SQL生成
- 実務活用例⑤ レポート出力
- ArrayとCollectionの違い
- ArrayとDictionaryの違い
- ベテラン開発者の定番パターン
- Copilot活用術① 配列コード生成
- Copilot活用術② 入力チェック作成
- Copilot活用術③ コードレビュー
- Array利用時の注意点
- Arrayが向いている処理
- 開発現場での利用頻度
- まとめ
Array関数とは
Array関数は、
複数の値
↓
配列として管理
するための関数です。
基本構文
Array(値1, 値2, 値3)
サンプル
Dim arr
arr = Array( _
"東京", _
"大阪", _
"横浜")
結果
arr(0) = 東京
arr(1) = 大阪
arr(2) = 横浜
なぜArray関数が重要なのか
初心者が書きがちなコードです。
str1 = "東京"
str2 = "大阪"
str3 = "横浜"
管理が大変です。
Arrayなら
arr = Array( _
"東京", _
"大阪", _
"横浜")
だけです。
メリット
シンプル
保守しやすい
ループ可能
になります。
逆引き① 配列を作成したい
最も基本的な使い方です。
Dim arr
arr = Array( _
"A", _
"B", _
"C")
確認
Debug.Print arr(0)
結果
A
です。
逆引き② 全件ループしたい
実務で最も利用します。
Dim varItem As Variant
For Each varItem In arr
Debug.Print _
varItem
Next
出力
A
B
C
逆引き③ 件数を取得したい
配列サイズ取得です。
MsgBox UBound(arr) + 1
結果
3件
になります。
逆引き④ フォーム初期化したい
非常に実務的です。
Dim arr
arr = Array( _
"txtCode", _
"txtName", _
"txtAddress")
ループ
For Each varItem In arr
Me.Controls( _
varItem) = ""
Next
効果
一括クリアできます。
逆引き⑤ 必須項目チェックしたい
入力チェックです。
arr = Array( _
"txtCode", _
"txtName")
チェック
For Each varItem In arr
If Nz( _
Me.Controls(varItem), _
"") = "" Then
MsgBox _
"未入力"
End If
Next
CSV取込で活躍する
列管理です。
列名
arr = Array( _
"顧客コード", _
"顧客名", _
"住所")
利用
For Each varItem In arr
Debug.Print _
varItem
Next
CSV処理が整理できます。
実務活用例① 顧客管理システム
初期化処理です。
arr = Array( _
"txtCustomerCode", _
"txtCustomerName", _
"txtTel")
一括クリアできます。
実務活用例② CSV取込システム
取込対象項目です。
arr = Array( _
"顧客コード", _
"顧客名", _
"電話番号")
効果
項目管理を簡潔にできます。
実務活用例③ 設備管理システム
設備チェックです。
arr = Array( _
"設備番号", _
"点検日", _
"担当者")
必須確認に利用できます。
実務活用例④ SQL生成
検索条件管理です。
arr = Array( _
"顧客コード", _
"顧客名")
動的SQL作成に利用できます。
実務活用例⑤ レポート出力
出力列順です。
arr = Array( _
"顧客名", _
"売上金額", _
"担当者")
帳票設計と相性が良いです。
ArrayとCollectionの違い
初心者が迷うポイントです。
Array
固定データ向き
Collection
追加・削除向き
使い分け
固定リスト
↓
Array
件数変動
↓
Collection
です。
ArrayとDictionaryの違い
Array
順番管理
向き
Dictionary
検索
向き
実務
フォーム項目
↓
Array
重複チェック
↓
Dictionary
が定番です。
ベテラン開発者の定番パターン
フォームクリア処理です。
Dim arr
arr = Array( _
"txtCode", _
"txtName", _
"txtAddress")
For Each varItem In arr
Me.Controls( _
varItem) = ""
Next
非常によく見かけます。
Copilot活用術① 配列コード生成
Copilotへの依頼例です。
Access VBAです。
Array関数を利用して
フォーム初期化コードを
作成してください。
Copilot活用術② 入力チェック作成
Arrayで管理した項目を
必須チェックする
コードを作成してください。
Copilot活用術③ コードレビュー
Arrayを利用したVBAです。
改善案を提案してください。
保守性向上に役立ちます。
Array利用時の注意点
インデックスは0から
arr(0)
が最初です。
件数取得
UBound(arr)
を利用します。
要素追加できない
Arrayは固定です。
追加したい場合は
Collection
や
Dictionary
を利用しましょう。
Arrayが向いている処理
特に活躍するのは次の用途です。
- フォーム初期化
- 入力チェック
- CSV列管理
- レポート出力
- 項目一覧管理
- SQL条件管理
開発現場での利用頻度
| 順位 | 用途 |
|---|---|
| 1位 | フォーム初期化 |
| 2位 | 入力チェック |
| 3位 | CSV列管理 |
| 4位 | 帳票出力 |
| 5位 | SQL条件管理 |
初心者からベテランまで幅広く利用されています。
まとめ
Array関数はAccess VBAで複数の値を簡単に管理できる便利な機能です。
特に
- フォーム初期化
- 必須入力チェック
- CSV取込
- 項目管理
- 帳票出力
などで大きな効果を発揮します。
まずは次のコードを覚えましょう。
arr = Array( _
"A", _
"B", _
"C")
そして、
For Each
と組み合わせることで実務で活躍するコードが書けるようになります。
Copilotを活用すれば、
- Arrayコード生成
- 入力チェック作成
- 共通処理の設計
も効率よく進められます。
DAO、Collection、Dictionaryを学んだ次のステップとして、ぜひArray関数も活用してみてください。

コメント