)oペコッエクセル2000です。A列からE列までの1行から最終行不特定の表があります。A列はすべて文字列で、B~Gは数値、E列は文字列です。A列の文字列には重複があります。この表を別シートにA列の重複がない表として作成したいと思います。その際、列が重複する場合にはB~G列は合計数値、E列は文字列を結合させます。Dictionaryオブジェクトを用い、A列データをKey、B~E列データを配列でItemとして下記のコードを書きました。このコードで目的は達成しました。わ遅くなってすみません。説明の為の実験から話をすすめさせて下さい。・こんな樹形図が現れます。myDicの中身を、ひとつのVariant変数Arrに喩えたら。階層構造がみえてきます。ご提示のソースコードをみて、頭の中のイメージで上のような樹形図が浮かび、窮屈な(かなり難しそうな)印象を受けました。(In/Outどちらかが、樹形図様なら、自然なんでしょうけれど。)Dictionaryで扱っているとそうは感じないのですが実際は結構複雑です。二次元配列より、難易度(扱い難さ)は上。反ってわかり難い、ということのようですね。重ねて意見をおすつもりはありません。ややっこしく感じない方法を選べばよいのです。考えて頂ければ、幸いです。>ただ、1次元配列では配列インデックスは0から、>二次元配列は1からだと思っていたところ、>二次元でも0からに出来るんですね、>しかも次元ごとに0と1を組み合わせるなんてことも!0でも1でも、それ以上でも、自分で定義すればいいです。B")や、Lbound(myDic.keys)は、0ベース、ちょっとややこしいけど、とりあえず(myDic.keysは別としても)これ位の場合分けを覚えておけば、困ることは少ないと思います。使い慣れない関数、メソッドやプロパティから配列を変数に受ける時は、ローカルウィンドウなど(できればヘルプ)で、確認すればよいです。Range("any").Value、セル範囲の値(配列)の場合、(行数や列数がひとつでも)必ず1ベースの二次元配列を返す。混乱して覚えていたのではないでしょうか。次元数でBaseが決まるのではなく、関数、メソッドやプロパティなど、で決まります。この時点で、二次元になってます。Application.Transpose()の機能によって二次元配列に変換されます。LBound(,2)がLBound(,2)に移るって考えればいいと思います。出力側のセル範囲にサイズを合わせています(0ベースですから、実際の列番号とは相対です)。0)は、Keys相当。最終的には求める値(出力する配列)にもなる、ということです。>...書き換えてみましたが、同じでことすね?結果は、全く同じです。1の部分以外)同じになります。取得した配列vAVのインデックスを基準にするか、シート上の列番号を基準にするか、の違いだけです。工夫の余地はあると思います。j)iは、元の(重複を含む)表の行を上から下に走る。j)】を加算(連結)するうーん、、、うまく伝わるかなぁ。テーブル操作をDictでやるという趣旨でしょうか?>「テーブル操作」って何でしょう?のレベルなものですから・・・。これは答えるの難しいですね。私自身が用語を未整理なまま使ってしまいました。なくても難しいのですけれど。「ある表から、もうひとつの表を参照して、新たな表を作る。新しいシートに新しい「表」を作っています。上に書いたような意味で同じように"見える"ということです。拡大解釈をすれば、データベースにとってのクエリに似たような処理、ですよね。それをDictを使って処理するのは目から鱗ですね。感じのことを言わんとしたのですが、あまり深く考えないでおいて貰えると、私も幸せになれるのですが(^^;)。自己レス>>文字列の連結に+演算子を使うことについては、>>Variant変数同士ですから、ま、いいかな、と。Variant変数同士ですし、条件が合うなら、ま、いいかな、とも思います。回すメリットを強調したかったもので、、、。全体に書き足りないこと書きすぎていることが目立ってわかり難くなってました(反省)。わ遅くなってすみません。説明の為の実験から話をすすめさせて下さい。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。