ExcelVBAアレイ
一般に、1つの変数は一度に1つの値を保持することになっていますが、1つの変数に複数の値を格納する場合、そのようなタイプの変数は配列変数と呼ばれ、VBAで配列変数を使用するには、宣言する必要があります。最初に定義します。配列変数は、その長さを使用して、または使用せずに定義できます。
数百の行と複数の列を含むデータがあり、そのデータを使用するコードを作成する必要があるとします。ここで、この場合、セルから値をフェッチしてプログラムに渡す変数の倍数を作成する必要があります。これだけの変数を作成するのは非常に面倒なので、そのような場合は、Excelで配列を使用します。
配列はデータセットをメモリに保持し、データからフェッチする必要のある値ごとに変数を宣言する必要はありません。配列を使用する必要があるのは、Excelでは変数が一度に1つの値を保持するように設計されているためですが、変数によって複数の値が格納されると、配列になります。
- 配列の作成は、その中にデータを保持できる別のメモリユニットを作成するようなものです。配列を作成するには、データが同じタイプである必要があります。
- 私たちがExcelに与える配列は、私たちが持っているデータのタイプに対応している必要があります。行のみのデータがある場合、この場合は「1次元配列」を使用し、データに列も含まれる場合は、値のみを保持できる「2次元配列」を使用する必要があるとします。行と列から。
- 配列は、動的配列または静的配列として機能するためにも機能する必要があります。数式にダイナミックレンジを与えると、配列を変数にすることもできます。動的配列には、無限の数の行と列を含める機能があります。定義した配列が静的タイプの場合、配列の作成時に定義された限られた数の行と列しか保持できません。
説明
配列は「行列の数学的規則」に基づいて機能します。つまり、配列はその場所のみでデータを識別します。セル「B3」に「20」が必要であることをVBAに理解させる必要がある場合、場所のコードを(3、2)として記述する必要があります。ここで、最初の値は行の場所を表し、2番目の値は列番号。エクセルの世界では、これらの場所のコードは「上限」および「下限」と呼ばれます。デフォルトでは、Excelの場所は0からではなく1から始まるため、Excelでは「A1」が行番号1ではなく行番号0として認識されます。
同様に、列は1からではなく0から始まります。
これらの配列は、静的配列または動的配列として定義できます。それらを静的配列として定義する場合、これは、コーディング中に定義された変数を超える変数を保持できないことを意味します。動的配列を作成する配列によって記憶する必要がある値がわからない場合、そのような場合、それらは無限の数の値を保持できます。
必要な配列のタイプを選択した後、これらの配列にデータを入力する必要があります。
このデータは、以下の方法で優れているために1つずつ提供する必要があります。
データがこれらの配列に格納されると、VBAコーディングで変数として使用できるようになります。
アレイの上位5種類のリスト
- 静的配列
- 動的配列
- 一次元配列
- 二次元配列
- 多次元配列
それぞれを詳しく見ていきましょう。
#1-静的アレイ
格納できる値の事前定義されたカウントを持つ配列。
#2 –動的配列
処理できる値のカウントが事前定義されていない配列。
#3 –1次元配列
行または列のデータのみを保持できる配列。
#4 –2次元配列
行と列の値を格納できる配列。
#5 –多次元配列
VBAで配列を使用する方法(例を含む)?
この配列はVBAExcelテンプレートでここからダウンロードできます– VBAExcelテンプレートの配列配列はさまざまな状況で使用できますが、宣言する変数の数が多く、宣言できない場合に使用する必要があります。
以下にいくつかの例を示しますが、例に進む前に、ショートカットキーでVBAエディターを開く方法を学習します。
これによりVBAエディターが開き、そこから「このワークシート」にコードを入力する必要があります。
例1
必要な配列のタイプを選択します。動的配列にするか静的配列にするか。
動的配列が必要な場合は、次元を「バリアント」として定義します。
静的配列が必要な場合は、ディメンションを「静的」として定義します。
例2
配列に格納する列と行を定義します。
括弧内に「1」を入力した場合、これは、Excelのカウントがゼロから始まるため、配列が2行の値を保持できることを意味します。
列と行も必要な場合は、両方を定義する必要があります。
ここで、「1から2」は2行を意味し、「1から3」は3列を意味します。
ここでは、Excelが行をカウントする方法のルールを変更し、ゼロからではなく「1」からカウントするように要求しました。
例3
配列へのデータの入力。
データはセルごとに入力する必要があります。ここで、データは(I、j)の形式で入力されます。ここで、「I」は行を意味し、「J」は列を意味します。
したがって、「a(1,1」)はセル「A1」を意味します
例4
コードを閉じます。
配列にデータが入力されたら、最後のステップはコードを閉じることです。
覚えておくべきこと
- デフォルトでは、Excelはゼロから始まる行をカウントします。これは、「I」の代わりに「2」が2行ではなく3行を意味することを意味します。これは「J」にも当てはまります。
- 配列に入力する必要のあるデータは、最初の行と最初の列の(0、0)から開始する必要があります。
- 動的配列を使用している場合は、「VBA REDIM」の機能を使用して、記憶する必要のある行と列の数を定義する必要があります。
- 2次元配列を作成する場合は、次元として「整数」を使用する必要があります。
- Excelファイルは、「マクロ互換」のバージョンで保存する必要があります。そうしないと、VBAで行ったコーディングが消えて、次回は実行されません。