• 締切済み

2次元配列の宣言について

oribeyakiの回答

  • oribeyaki
  • ベストアンサー率45% (18/40)
回答No.5

1の方ではないですが、「TYPE」です。 (※用法的にはTYPEと動的配列を併用することが多いです) ◇宣言部 Private Type TEST   strA As String   strB As String   lngC As Long End Type Private TestArray() As TEST 実行部 sub subTEST() Dim I as integer ReDim TestArray(0 to 9) For I = 0 To 9 TestArray(I).strA = "A" TestArray(I).strB = "B" TestArray(I).lngC = I Next このような形になります。 この利点としては、異なるデータ型のものを一元管理できることがあげられます。 (DBのレコードをそのまま取り込めるので非常に便利) でわ。

関連するQ&A

  • 3次元配列の記述

    VB6.0を使っています。 2次元配列は以下の様になりますが、3次元配列はどう記述すればいいのでしょうか? Dim phrase(1) As Variant phrase(0) = Array("0-0", "0-1", "0-2") phrase(1) = Array("1-0", "1-1", "1-2")

  • ExcelVBAで配列に一気にデータを入れる

    かすかな記憶で申し訳ありませんが、変数をVariant型で宣言しておくと、","で区切られた文字列は、一気に配列として代入出来ると聞いた気がしています。色々と試してみたのですが、よくわかりません。よろしくお願いいたします。 Dim a as Variant dim myText as string myText = "月曜,火曜,水曜,木曜,金曜,土曜,日曜" のような感じで(実際のカンマで区切られた文字列は100個ぐらい要素があります)一気に代入して、aを配列として扱いたいのです。 よろしくお願いいたします。

  • 二次元配列が、勝手に一次元配列になってしまう

    Excelのマクロで、二次元配列を格納したバリアント型を戻り値とする関数を作ったのですが、… 二次元型配列のひとつの要素数が1の時、受け取ったバリアント型変数は、一次元配列になっています。 列ベクトルなら、それもありかな~と思うのですが、なんで、行ベクトルまで、一次元配列にするんだよ~って、困っています。 シートから関数を呼んだ場合は、列ベクトルは列ベクトル、行ベクトルは行ベクトルとして、表示されるので、マクロの中で関数を呼び出した場合も、行列の情報を保持できる方法があるんじゃないかと思ったのですが。 どなたか、ご教示頂けるとありがたいです。 よろしくお願いします。

  • 多次元配列から値を抽出する方法

    Array ( [0] => Array ( [0] => Array ( [0] => Array ( [1] => XX ) ) [1] => AA [2] => BB [3] => CC [4] => DD ) ) 上記配列から値(XX)を1つの変数に取り出すにはどうすればよろしいでしょうか?

    • ベストアンサー
    • PHP
  • pythonの多次元配列へのデータ入力

    pythonの多次元配列で以下のように、ループのカウンタのn,mで配列の位置を指定して代入することができないようです。このような場合どう処理するのでしょうか。 for n in range(1:10) for m in range(1:10) a[n][m]=f(n/m) なお、aについては使用の宣言はしておらず、メモリも確保されていません。fは別途用意されています。 また、a[2][3]=1.3 のように配列の場所を指定して代入するのもダメのようです。numpy.arrayとかで宣言するのかなと思うのですが。使用例が見つかりません。2次元配列だけでなく3次元配列だとどうなるかなと思うのですが。 科学技術計算はこんなのばっかりです。pythonはそのようなものに向くでしょうか。いろんなものがpython対応になってきているので速さの問題があっても器用な処理ができるのなら選択されることも多いと思いますが。 よろしくお願いします。

  • 二次元配列の参照とデータ取得について

    いつもお世話になっております。 C言語で以下のようなことをしたいのですが可能でしょうか。 <二次元配列のデータ> [AA,11][BB,22][CC,33] ・検索文字列⇒"BB" 上記検索文字列"BB"が二次元配列データの左側(AA,BB,CCなど)と 照合されて一致した場合、その照合した配列の右側(11,22,33)を アウトプットとして返すようにしたいのですが実現可能でしょうか。

  • 3次元配列を1次元配列に

    例えば2次元配列だと, array[row*i+j] = a[n]; といったように1次元に直すことができますよね? 同様に3次元配列を1次元配列にしたい場合には arrayの中はどのような式をつかえばいいのでしょうか。 よろしくお願いします。

  • 多次元配列

    初歩的な質問ですみません。 PHPプログラミングでの質問です。 仮に、多次元配列Aに、 Array( [0] => Array ( [0] => 6 ) [1] => Array ( [0] => 2 [1] => 1 ) [2] => Array ( [0] => 0 [1] => 5 [2] => 4 ) ) 多次元配列Bに、 Array( [0] => Array ( [0] => りんご ) [1] => Array ( [0] => ぶどう [1] => パイナップル ) [2] => Array ( [0] => みかん [1] => すいか [2] => メロン ) ) のように値が入っている場合、配列Aの値を参照して 値の大きいものから順に、それに対応する配列Bの値を取り出し、 あたらしい配列Cに代入する処理の書き方を教えて下さい。 上記の例ですと、配列Cが、 Array ( [0] => りんご [1] => すいか [2] => メロン [3] => ぶどう [4] => パイナップル [5] => みかん ) となるようにしたいです。 よろしくお願いします。 長文失礼しました。

    • ベストアンサー
    • PHP
  • 二次元配列のVBA

    二次元配列のVBAの書き方がよくわからないのですが、 私が作ったサンプルプログラムのSub 二次元()において 二次元配列で表すにはどうすればいいのでしょうか? Sub 二次元()では 配列を格納する変数はtmpしか使っていませんが もう一つ配列を格納する用の変数を作ればいいのでしょうか? 数字とアルファベットは別々に取り出したいです。 ----------------------------------------------------- Sub 一次元() Dim myStr As String Dim tmp As Variant Dim i As Long For i = 1 To 5 myStr = myStr & "," & i Next myStr = Mid(myStr, 2) tmp = Split(myStr, ",") For i = LBound(tmp) To UBound(tmp) Debug.Print tmp(i) Next i End Sub Sub 二次元() Dim myStr As String Dim tmp As Variant Dim i As Long For i = 1 To 5 myStr = myStr & "," & i & "と" & Chr(64 + i) Next myStr = Mid(myStr, 2) tmp = Split(myStr, ",") For i = LBound(tmp) To UBound(tmp) Debug.Print tmp(i) Next i End Sub

  • VB.NET 2次元配列

    二次元配列に関して質問があります。 二次元配列を定義します。 Dim a(,) As Integer = _ {{0, 0, 0, 0, 0, 0, 1, 1, 1}, _ {0, 0, 0, 0, 0, 1, 0, 0, 1}, _ {0, 0, 0, 0, 0, 0, 1, 1, 1}} 一次元配列を定義します。 Dim b() As Integer 一次元配列のb()に二次元配列a(,)の {0, 0, 0, 0, 0, 0, 1, 1, 1}の部分を 入れようとした場合、 どのように記載すればよろしいでしょうか? イメージ的には b = a(0) で出きると思ったのですが、 構文エラーとなってしまいます。 よろしくお願いします。