ホーム > プログラミング入門 > Lesson5: 配列

配列
配列 配列
変数を使えば、配列を使わなくてもプログラムはできますが
配列を使ったほうがシンプルでわかりやすいものができます。
配列の宣言は
Dim 変数名(配列の要素数-1) As データ型

こんなふうに使えます。
Dim name As String
Dim arrDay(6) As String
 
name = "しげっち"
 
arrDay(0) = "日曜日"
arrDay(1) = "月曜日"
arrDay(2) = "火曜日"
arrDay(3) = "水曜日"
arrDay(4) = "木曜日"
arrDay(5) = "金曜日"
arrDay(6) = "土曜日"

変数nameには1つのデータ(しげっち)しか入れることができません。
でも配列は、たくさんのデータを入れることができます。
配列の要素は0からなので、ここではarrName(0)からarrName(6)までの
7つのデータを入れることができます。
...たくさんのデータの扱うとき、配列は便利。
2004年7月
配列 その2 配列 その2
こんなプログラムを作ってみました。
Sub test_04()
  
  '配列の勉強中 − [配列は便利?]
  
  Dim arrDay(6) As String
  
  arrDay(0) = "日曜日"
  arrDay(1) = "月曜日"
  arrDay(2) = "火曜日"
  arrDay(3) = "水曜日"
  arrDay(4) = "木曜日"
  arrDay(5) = "金曜日"
  arrDay(6) = "土曜日"
  
  '月曜日[arrDay(1)]の3日後は?
  MsgBox (arrDay(1 + 3))
  
End Sub

月曜日[arrDay(1)]の3日後は
答え表示
 
あまり良いプログラムではないなぁ...
2004年7月
配列 その3 配列 その3
2次元配列というものがあります。
Dim 変数名(行数, 列数) As データ型

Excelの表のように行と列からなるデータを扱うことが出来ます。
成績表
配列 arrData(3, 4) とします。
arrData(X, 0) に名前のデータ。
arrData(X, 1) に国語の点数
arrData(X, 2) に算数の点数
arrData(X, 3) に理科の点数
arrData(X, 4) に社会の点数
 
arrData(0, Y) にしげっちのデータ
arrData(1, Y) にえんどーくんのデータ
arrData(2, Y) にロボたんのデータ
arrData(3, Y) にぷーちゃんのデータ
 
つまりこういうことに。
配列に入るデータ
2004年8月
配列 その3 配列 その3
配列を使ったプログラムを作ってみました。
Sub test_04_02()
  
  '配列の勉強中 − [2次元配列]
  
  Dim arrData(3, 4) As String
  
  '1人目の成績
  arrData(0, 0) = "しげっち"
  arrData(0, 1) = "85点"
  arrData(0, 2) = "90点"
  arrData(0, 3) = "70点"
  arrData(0, 4) = "85点"
  
  '2人目の成績
  arrData(1, 0) = "えんどーくん"
  arrData(1, 1) = "100点"
  arrData(1, 2) = "75点"
  arrData(1, 3) = "90点"
  arrData(1, 4) = "100点"
  
  '3人目の成績
  arrData(2, 0) = "ロボたん"
  arrData(2, 1) = "50点"
  arrData(2, 2) = "100点"
  arrData(2, 3) = "80点"
  arrData(2, 4) = "20点"
  
  '4人目の成績
  arrData(3, 0) = "ロボたん"
  arrData(3, 1) = "50点"
  arrData(3, 2) = "5点"
  arrData(3, 3) = "30点"
  arrData(3, 4) = "90点"
  
  '2人目の名前と算数の点数は?
  MsgBox (arrData(1, 0) + "の算数の点数は" + arrData(1, 2) + "です")
  
End Sub

実行結果
答え表示
2004年8月