Excel VBAで2次元配列を初期化する具体的な使い方や、注意点やサンプルコードを紹介します。
日常業務でExcelを多用し、手動作業を減らしたいと考えている方へ
本サイト参考:Excel VBAで自動化するコードのベースを習得したい方におすすめの記事
以下のようなシーンで利用されます。
・既存の2次元配列のデータをクリアして新しいデータを格納する場合
・関数やサブルーチン内で動的に生成された2次元配列に初期値を設定する場合
ReDimを使用して新しいサイズの配列を作成するため、既存のデータは失われます。
ExcelVBAエキスパートベーシックは仕事の効率をあげる人の資格です。
本サイト参考:日常業務でExcelを多用し、手動作業を減らしたいと考えている方におすすめの記事
Option Explicit
Sub InitializeArray()
Dim myArray() As Variant
Dim numRows As Integer, numCols As Integer
Dim i As Integer, j As Integer
' 行数と列数を指定
numRows = 3
numCols = 4
' 配列定義
ReDim myArray(1 To numRows, 1 To numCols)
' 配列に値を格納
For i = 1 To numRows
For j = 1 To numCols
myArray(i, j) = i * 10 + j
Next j
Next i
' データの表示
For i = 1 To numRows
For j = 1 To numCols
Debug.Print myArray(i, j)
Next j
Next i
' 配列再定義
ReDim myArray(1 To numRows, 1 To numCols)
' データの表示
For i = 1 To numRows
For j = 1 To numCols
Debug.Print myArray(i, j)
Next j
Next i
End Sub
サンプルコードは、myArrayに値を格納してDebug.Printで表示。その後、2二元配列をReDimを使って初期化して、2次元配列の内容が初期化されているかDebug.Printで表示しています。
For i = 1 To numRows
For j = 1 To numCols
myArray(i, j) = 0
Next j
Next i
このサンプルコードは、For分で2次元配列を初期化しています。
Excel VBAで自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。