- 締切済み
[VBA] リストから複数の2次元配列を作成する
こちらの識者の方々にはいつもお世話になっています。 VBAの質問です。 環境は下記になります。 OS=windows7 pro 64bit Office=Excel2010(14.0.7128.5000) ・やりたいこと 図のようなリストがあり、A/B/Cそれぞれのグループの2次元配列を作成したい。 aryA(1,1) = "アケビ" aryA(1,2) = "A" aryA(2,1) = "アボカド" aryA(2,2) = "A" aryB(1,1) = "アセロラ" aryB(1,2) = "B" aryB(2,1) = "イチジク" aryB(2,2) = "B" aryC(1,1) = "アンズ" aryC(1,2) = "C" aryC(2,1) = "イチゴ" aryC(2,2) = "C" のような感じです。 このような場合の例文を教えていただけますでしょうか。 質問に不備不足等ございましたらご指摘ください。 ご面倒お掛けしますがよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- real beatin(@realbeatin)
- ベストアンサー率82% (174/211)
- real beatin(@realbeatin)
- ベストアンサー率82% (174/211)
- Prome_Lin
- ベストアンサー率42% (201/470)
- imogasi
- ベストアンサー率27% (4737/17068)
関連するQ&A
- 多次元配列の一次元目の最大値の求め方
多次元配列の一次元目の最大値の求め方 下記のような多次元配列(ちなみに、これって二次元配列ですか?)があるとき、 常に、「一次元目の最大値+1」を返すようにしたいのですが、 どうすればよいのでしょうか? $data[0][0]とか$data[1][0]とか$data[2][0]とかの最大値の意味です。 下記の例でいくと、一次元目の最大値が3なので、数値の4を返したいのですが…、 ■$data 1,0,A1,B1,C1 2,5,A2,B2,C2 3,0,A3,B3,C3 3,2,A4,B4,C4
- ベストアンサー
- PHP
- PHPで2次元配列を1次元配列にしたいのですが、わからないので教えてく
PHPで2次元配列を1次元配列にしたいのですが、わからないので教えてください。 例えば2次元配列を以下のようにします。 $ss[0][0]=a $ss[0][1]=b $ss[0][2]=c $ss[1][0]=あ $ss[2][0]=い $ss[3][0]=う これを以下のような1次元配列にしたいです。、 $ss[0][0]→$g[0],$ss[0][1]→$g[1],$ss[0][2]=$g[2] $ss[1][0]→$h[0],$ss[2][0]→$h[1],$ss[3][0]=$h[2] よろしくお願いします。
- ベストアンサー
- PHP
- VBAの一次元配列から二次元配列へ
A列にa1~a100まで数字が入ってます。 それを、b1~b5,c1~c5,…省略 u1~u5までに、データを 5行ずつ移したいのです。 b1にはa1、b2にはa2の値を、u5にはa100の値を入れたいのです。 マクロの自動記録?を使うとできることはできるのですが…。 一次配列→二次配列で、出来ると聞いたことがあるのですが。 ※VBAは全くの初心者です。 コードに説明もつけてくださるとすごく助かります。 どうかよろしくお願いいたします。
- 締切済み
- Visual Basic
- 2次元配列の使い方
Access 2013 vba メイン画面に、2つのサブフォーム(共に帳票)があり 親→子→孫 となっています。 この時、親、子、孫のレコードを取得して ある書類を作成しエクセルに出力しようとしています。 この場合、親のデータは普通に変数Aに入れて 子のデータは一次元配列B()に入れ 孫のデータは一次元配列C(0)~C(3)に入れたものを、更に子用の一次元配列B1()~B4()に入れるように作りにしようと考えています。 この場合、 子の画面で次の2レコード目に進んだ時、子画面用のB1...B4の配列変数に入れている孫のC(0)~C(3)の配列の中身は、子画面の一レコードと二レコード目では同じものになるのでしょうか。 もし、同じものになるのであれば、この方法は使えないと思っていますが。。。 他に何か良い方法はありますでしょうか。 Accessで、クラスを作って、それを配列変数に入れるとか・・・ よろしくお願いします。
- ベストアンサー
- その他(データベース)
- 多次元の配列を[ ]で括って見やすくトレースするには?
多次元の配列を[ ]で括って見やすくトレースするには? 何次元か特定される配列ならばforなどで次元の数だけ繰り返せばできるとは思うのですが そうでないときにも [ [ [a,b,c,...],[],[],...],[],[],... ] のように隣り合う要素(配列)との切れ目が見やすいようにトレースする方法はありますか? プログラムには影響しませんが、トレースすると1次元の配列と同じように , だけで区切られてトレースされてしまい見にくいですので 配列が何次元か返させる関数など書ければ良いと思うのですが FlashPlayer10、ActionScript3.0です 質問の意味理解していただけるでしょうか お願いします
- ベストアンサー
- Flash
- 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) で出きると思ったのですが、 構文エラーとなってしまいます。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- 多次元配列の工夫
現在、あるプログラミングを作成しています。 そこで4次元配列を使用することが必要になってきました。 ---------------------------------------------- 4次元空間 for(a=・・・a++){ for(b=・・・b++){ for(c=・・・c++){ for(d=・・・d++){ if(ある条件が揃った場合) jouken[a][b][c][d]++; }}}} ---------------------------------------------- 以上のようなことをやりたいのですが、 a~cの値は3桁オーダーなので、メモリを食いすぎ、 処理が桁違いに遅くなり(ページング発生?)、 困っています。 これの解決方法としてはどのようなものがありますかね?たとえば、2次元配列を複数個使うなど。 よろしくお願いします。
- ベストアンサー
- C・C++・C#
- 多次元配列
初歩的な質問ですみません。 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
- 多次元配列のカウント+1の仕方
多次元配列のカウント+1の仕方 下記のような多次元配列(ちなみに、これって二次元配列ですか?)があるとき、 常に、「2列目の0がある数+1」を返すようにしたいのですが、 どうすればよいのでしょうか? $data[0][1]とか$data[1][1]とか$data[2][1]とかの意味です。 下記の例でいくと、2列目に0が3つあるので、数値の4を返したいのですが…、 ■$data 1,0,A1,B1,C1 2,0,A2,B2,C2 3,0,A3,B3,C3 4,2,A4,B4,C4 ■var_dump($data); array(4) { [0]=> array(5) { [0]=> string(1) "1" [1]=> string(1) "0" [2]=> string(2) "A1" [3]=> string(2) "B1" [4]=> string(2) "C1" } [1]=> array(5) { [0]=> string(1) "2" [1]=> string(1) "0" [2]=> string(2) "A2" [3]=> string(2) "B2" [4]=> string(2) "C2" } [2]=> array(5) { [0]=> string(1) "3" [1]=> string(1) "0" [2]=> string(2) "A3" [3]=> string(2) "B3" [4]=> string(2) "C3" } [3]=> array(5) { [0]=> string(1) "4" [1]=> string(1) "2" [2]=> string(2) "A4" [3]=> string(2) "B4" [4]=> string(2) "C4" } }
- ベストアンサー
- PHP
- Excel VBA 2次元配列の一部をセルに出す
Excel VBAで2次元配列中の一つの次元をセルに一発(For等でループせずに)で縦方向に書きたいのですが、何か良い方法は有るでしょうか。 例 Dim tmp(2, 2) As String tmp(0, 0) = "A" : tmp(0, 1) = "B" : tmp(0, 2) = "C" tmp(1, 0) = "D" : tmp(1, 1) = "E" : tmp(1, 2) = "F" tmp(2, 0) = "G" : tmp(2, 1) = "H" : tmp(2, 2) = "I" セル B1 ~ B3 に tmp(1,0)~temp(1,2)の出力したい ( セル B1に D、セルB2に E、 セル B31に F が入る) Transposeをみたのですが、一次元配列が前提のようです。 2次元配列の要素の一つを一次元にする方法でも構いません。 よろしくお願いします。
- ベストアンサー
- Excel(エクセル)