VBAの困った はVBA開発室で研究してみませんか? VBA作成も格安で承っております。

VBA開発室 鹿児島ワイズ:メインバナー
 トップページ
 EXCEL VBA
 ACCESS VBA
 VBA 開発相談

VBA開発室 鹿児島ワイズ は、

 ・VBAの操作入門

 ・VBAの開発代行

をご提供しています。

 登録無料!相互リンクはココをClick

   オススメリンク

  ・VBA開発室 鹿児島ワイズ

  ・パソコン修理専門店 Y's

  ・パソコン買援隊

  ・鹿児島パソコン教室 ワイズ

  ・激安データリカバリー専門店

  ・鹿児島学習塾WISE

  ・売れるホームページ!鹿児島SEO

  ・LAN工事 鹿児島

 
トップページ >> EXCEL VBA >> 021.配列を使う 2/2


配列
前回ご紹介した配列を今回は説明します。




Sheet1 の B2: D9 範囲を配列 array1 に追加して、Sheet2 の A1: C8 範囲に出力する


配列の利用方法は次のように記載します。

array1 = Range("B2:D9").Value




array1 とは、プログラム作成者が任意でつける名前です。このように命令することで、範囲 B2:D9 を array1 という1つの名前を使って管理することができます。


具体的には各セルの値は、array1( ○行目 , △列目 ) という数字の組合せ で表現できます。


配列を使う場合は 必ず array1( 1 , 1 ) が存在することになります。

今回の例では  array1( 1 , 1 ) .value = Range( "B2" ) となります。セルB2 が array1 ( 1, 1 )となることに注意してください。なぜなら 範囲 B2:d9 からと array1 の範囲を指定したからです。もし array1 = Range("C2:E9").Value と指定していたら、セルC2 が array1 ( 1, 1 ) となります。


配列を使う場合には、

array1 は 何行持っているか?
array1 は 何列持っているか?

を最初に考慮しなければなりません。なぜなら、配列は( ○行目 , △列目 )という行と列の組合せで表現できるからこそ、○行の最大値、△列の最大値を知ることが大切となるのです。


例では、array1 の最大行は 9 - 2 + 1 = 8行 であり、
array1 の最大列は 4 - 2 + 1 = 3列 です。


この最大値を知ることで、 For - For 構文 を使って配列を管理できることになります。それが上記例の

For i = 1 To 8
   For j = 1 To 3

   Next j
Next i

の箇所です。この For - For 構文 を処理の順番で解説すると、次のようになります。

i = 1 である。その時に For j = 1 to 3 を試みなさい。すなわち、

i = 1 かつ j = 1 の場合の処理をしなさい。それが終わったら、
i = 1 かつ j = 2 の場合の処理をしなさい。それが終わったら、
i = 1 かつ j = 3 の場合の処理をしなさい。

ということになります。 j = 3 が終了することで、ようやく i = 1 が終了されます。
i = 1 が終了することで For i 構文なので 次に i = 2 を処理することになります。よって、次の処理が始まります。


i = 2 である。その時に For j = 1 to 3 を試みなさい。すなわち、

i = 2 かつ j = 1 の場合の処理をしなさい。それが終わったら、
i = 2 かつ j = 2 の場合の処理をしなさい。それが終わったら、
i = 2 かつ j = 3 の場合の処理をしなさい。

ということになります。 j = 3 が終了することで、ようやく i = 2 が終了されます。
i = 2 が終了することで For i 構文なので 次に i = 3 を処理することになります。よって、次の処理が始まります。


i = 3 である。その時に For j = 1 to 3 を試みなさい。すなわち、

i = 3 かつ j = 1 の場合の処理をしなさい。それが終わったら、
i = 3 かつ j = 2 の場合の処理をしなさい。それが終わったら、
i = 3 かつ j = 3 の場合の処理をしなさい。

ということになります。 j = 3 が終了することで、ようやく i = 3 が終了されます。
i = 3 が終了することで For i 構文なので 次に i = 4 を処理することになります。よって、次の処理が始まります。

  ・
  ・
  ・

i = 8 である。その時に For j = 1 to 3 を試みなさい。すなわち、

i = 8 かつ j = 1 の場合の処理をしなさい。それが終わったら、
i = 8 かつ j = 2 の場合の処理をしなさい。それが終わったら、
i = 8 かつ j = 3 の場合の処理をしなさい。

ということになります。 j = 3 が終了することで、ようやく i = 8 が終了されます。
i = 8 が終了することで For i 構文 も終了することになります。


配列はこのように 行 と 列 の2要素から成り立つので、For - For 構文 によって配列の全ての値はその与行列の組合せとして管理することができるのです。

トップページ >> EXCEL VBA >> 次のページへ


All rights reserved to VBA開発室 鹿児島ワイズ