はじめに
本ページは、ウインドウズ系全般のティプスメモです。
そう、はじめはVB系のティプスメモだったのですが…いつの間にか、ウインドウズ系全般のティプスメモになってしまいました。
ちなみに、ティプス(Tips)とは、マニュアルに書かれていない技法や裏わざのことですが、本ページでは、私が経験してこれはと思ったノウハウのメモになっています。
尚、以下は本サイトの最新情報(ブログ)です。
それでは、本ページが何かのお役に立てれば幸いです。ごゆっくりご覧ください。
2008-10-21 VBAでの2次元配列の初期値定義
VBAはVB6ベースなので、VB.NET系のように宣言と初期値設定が一緒にできません。
なので、普通の2次元配列もジャクの2次元配列も宣言した後に代入文で初期値を代入します。
以下のVBAサンプルは、2次元配列のデータをEXCELのセルへ代入しています。
Sub aaa() Dim data(2, 3) As Variant '普通の2次元配列宣言 Dim data2() As Variant 'ジャグ配列にするための宣言 data2 = Array(Array(0, 10, 20, 30), _ Array(1, 11, 21, 31), _ Array(2, 12, 22, 32)) data(0, 0) = 0 data(0, 1) = 10 data(0, 2) = 20 data(0, 3) = 30 data(1, 0) = 1 data(1, 1) = 11 data(1, 2) = 21 data(1, 3) = 31 data(2, 0) = 2 data(2, 1) = 12 data(2, 2) = 22 data(2, 3) = 32 Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = "シートx" Worksheets("Sheet1").Delete Worksheets("Sheet2").Delete Worksheets("Sheet3").Delete Worksheets("シートx").Range(Cells(1, 1), Cells(3, 4)).Value = data ActiveWorkbook.SaveAs Filename:="C:\xxx.xls" End Sub
ちなみに、EXCELのセルに代入する場合は、ジャグ配列はNGで、普通の2次元配列でないとダメですね!
おわりに
以下のページには、すべてのTIPSがあります。もしよろしければ、どうぞ!
尚、ご感想、ご意見、誤字、脱字、間違い等がありましたら遠慮なくVB-TIPS掲示板へご指摘ください。