【VBA入門】たった1行で解決!Array関数で「配列アレルギー」を克服して業務を爆速化する方法

【業務効率化】VBA
スポンサーリンク

こんにちは!ぐーです。

今回は、プログラミングに苦手意識がある方でも今日から使える、一番簡単な「配列の作り方」を解説します。

【業務効率化】VBAの記事を見る 

配列は「仕切りのあるお弁当箱」

プログラミングの「配列」とは、複数のデータを一つの変数にまとめて管理できる、便利な箱のような仕組みを指します。 

通常の記述方法では、各仕切りに対して「これは梅干し」「これは卵焼き」と一つずつ指定しなければならず、手間がかかってしまいます。

そこで登場するのがArray関数です。

これは「中身を一度に詰め込んだお弁当箱を、わずか1行で完成させるツール」だとイメージしてください。

実践!Array関数を使ってみよう

まずは、従来の書き方とArray関数を使った書き方を比較してみましょう。

【Before】これまでの面倒な書き方

Dim branches(2) As String
branches(0) = "東京本社"
branches(1) = "大阪支店"
branches(2) = "名古屋支店"

項目の追加に伴って行数が増え、コードの見通しも悪くなってしまいますね。

【After】Array関数を使った書き方

Dim branches As Variant
branches = Array("東京本社", "大阪支店", "名古屋支店")

いかがでしょうか?見た目がスッキリして、記述の負担も大幅に軽減されます。 

これだけで、コーディングにかかる時間やタイピング量を劇的に削減することが可能になります。 

コピペでOK!実務で使えるサンプルコード

業務で頻繁に発生する「特定のリストを順番に処理する」というケースを想定したプログラムです。

Sub BranchProcess()
    Dim branchList As Variant
    Dim i As Integer
   
    ' 1. Array関数でリストを一括作成
    branchList = Array("東京", "横浜", "名古屋", "大阪", "福岡")
   
' 2. 最小インデックスから最大インデックスまでをループ処理
    For i = LBound(branchList) To UBound(branchList)
        ' イミディエイトウィンドウに結果を表示
        Debug.Print branchList(i) & "の集計を開始します..."
    Next i
   
    MsgBox "全支店の処理が完了しました!"
End Sub

注意するポイントはたった1つ

Array関数を使うときは、変数(箱の名前)を宣言する際にAs Variant(バリアント型)にする必要があります。

「Variant」という用語に馴染みがないかもしれませんが、現時点では「あらゆるデータを受け入れる箱」と捉えていただければ問題ありません。 

中学生の頃の何でも入る大きなエナメルバッグや高校生の頃のTHE NORTH FACEのリュックみたいなイメージです。

まとめ:小さな工夫が大きな「ゆとり」を生む

Array関数を活用することで、コードが簡潔になるだけでなく、入力ミスによるエラーのリスクも最小限に抑えることができます。 

最初は難しく感じるかもしれませんが、まずは簡単なコードから少しずつ取り入れてみてください!

【業務効率化】VBAの記事を見る 


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

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