- ベストアンサー
PHPのようにスマートに配列の配列など記述する方法が
PHPの場合、データ構造ですが以下のようになっています。 $a = array( "test1" => array( array(1,1), array("x", 2) ), "test2" => array( array(3,2), array("y", 1) ), ); これをエクセルVBAの場合、Scripting.Dictionaryを使えば連想配列が 可能ですが、PHPのようにスマートに配列の配列など記述する方法が わかりません。 Dim dic As Scripting.Dictionary set dic = New Scripting.dictionary dic.Add "test1", ???????????????? dic.Add "test2", ???????????????? スマートにデータ構造を実現できる方法が知りたいです。
- みんなの回答 (3)
- 専門家の回答
お礼
回答ありがとうございます。 >何をもってスマート(賢い)というのかは議論の余地がありますが、ただ、ジャグ配列化させること自体が、手順が多くてよくありません。 私自身、狭い範囲の学習で言語の勉強をしているので、 深い見識によるご意見は参考になります。 >dic.Add "test1", Array(Array(1, 2), Array("x", 2)) スマートではないようですが、他言語PerlからVBAに移行した新参者の 私の感覚では、データが少量の場合、ソース自体がネイティブ言語では効率が悪くてもすべてのデータが一箇所で済まされるという感覚がスマートと解釈していますので、そう判断しました。 ※多量のデータの場合はCSVとループ・単純配列で処理するのがソースの書き手にとってノーマルなのは、意見が一致します。 VBAでArray(Array(1, 2), Array("x", 2) ができることが知れて自身がつきました。ありがとうございます。 このようにVBAでのデータ構造(私の変な解釈ですが)について柔軟に記述できる方法をもっと知りたいのですが、このあたりに特化したVBA(もしくはVB、さらに.NET)の書籍などご存知の方がいらっしゃいましたら、教えてください。