EXCEL、VBAプログラミング入門18~配列~第2回目

以下は当記事に関連する動画です。本動画に関連する動画はすべてニコニコチャンネルにて閲覧可能です。
https://ch.nicovideo.jp/ai-light

本講座のシリーズは以下にて閲覧可能です。
https://www.nicovideo.jp/series/231329

今回は、EXCEL、VBAプログラミングの第18回目で配列について説明をする第2回目です。

今回は、以下のことについて解説を行っています。
1)はじめに
2)ループ処理で配列要素を順番に処理する

1)はじめに
今回のサンプルシステムで取り上げている計算機システムでは動的配列を使用していますが、動的配列を説明する前に通常の配列について説明をします。動画で取り上げているサンプルとは異なりますが、以下のサンプルプログラムを例に配列を説明します。

Sub 配列()
 Dim i As Integer
 Dim 記録配列(2) As String

     記録配列(0)=”10”
     記録配列(1)= ”20”
     記録配列(2)= ”30”

  For i = 0 To 2
    msgbox 記録配列(i)
  Next i

End sub

上から順にポイントを解説していきます。

Dim 記録配列(2) As String
の部分ですが、記録配列()という表現で文字型の配列を宣言しています。
As Stringの部分で、変数の型を文字型として宣言しています。

また、記録配列(2)によって、記録配列(0), 記録配列(1), 記録配列(2)という3つの変数を定義したことになります。添え字部分は常に0から始まることに注意してください。つまり、配列は()で記載した数に応じた変数が複数定義されます。

もし配列を使用しない場合には例えば
Dim 記録配列A As String
Dim 記録配列B As String
Dim 記録配列C As String
と定義しても構いません。しかし、その場合には変数の要素数だけ変数を定義しなくてはなりませんので、例えば100個の変数を定義したい場合には大変です。そのような場合でも、配列でしたら1行で定義できるわけです。ちなみに配列の場合には
Dim 記録配列(99) As String
と定義します。

繰返しになりますが、配列の添え字は0からスタートしますので、
記録配列(99)
で「0」~「99」の100個の要素を定義したことになります。

2)ループ処理で配列要素を順番に処理する
以下の部分ですが、For~Nextを使って繰り返し処理を行っています。
  For i = 0 To 2
    msgbox 記録配列(i)
  Next i

For i = 0 To 2 
で iが「0」~「2」まで3回、「Next i」までの部分をループします。最初の1回目の処理の際にはi = 0となっているので、
msgbox 記録配列(i) 
の部分は
msgbox 記録配列(0)
となります。

Msgboxはダイアログボックスを表示する処理となりますが、ダイアログボックスに表示されるメッセージが「記録配列(0)」の内容になります。「記録配列(0)」には前段で
記録配列(0)=”10”
にて、「10」という文字列が入力されています。従いまして、ダイアログボックスに表示されるメッセージは「10」となります。

記録配列(0)=”10”
の「”10”」と表示されているのは、「10」という文字列を記録配列(0)に代入するためです。

これは記録配列(0)が
Dim 記録配列(2) As String
にて文字列として定義されているからです。ちなみに「10」を数値として扱う場合には
記録配列(0)=10
と記載し、「”」は不要です。

For i = 0 To 2の2ループ目はi = 1となっていますので、
msgbox 記録配列(i)
にて記録配列(1)の値である「20」が表示されます。

同様にして、3ループ目はi = 2となりますので、
msgbox 記録配列(i)
にて記録配列(2)の値である「30」が表示されます。

配列を使うと上記のようにループ処理内で順に変数の値を処理できることは非常に便利です。

配列を使うと複数の要素を定義できるからといって全く関係のない変数を配列で定義するのではなく、今回のように同じ用途に使用される変数が複数個必要な場合などに使用すると便利かと思います。


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。