人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルVBAのdictionary(key)を各key3行分で書き出す場合、よりよい方法は?

aaa
bbb
というdictionaryを使って表を作成する過程で、それぞれの配下にさらに3段階の項目をつけたいので(aaa,bbbに対し1,2,3をぶらさげたい)、各keyを3行分書き出し、aaaを結合、bbbを結合、右列に3つの種別を付け加えようと思います。

aaa

aaa
aaa
aaa

---- 1
aaa 2
---- 3

'dic.keys(項目)の書き出し
key = dic.keys
For i = 0 To UBound(key)
.Cells(i + 4, 1) = val(0)
Next i

アイデアとしては3回実際に書き出す、1回書き出した上でコピーを繰り返す、dictionaryを3倍にしておいて書き出すなどですが、いずれも最後まで書けません…

よい方法とその記述を教えてください。


●質問者: 匿名質問者
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

結合するなら3回書く必要ないのでは?
val(0)の意味が分かりませんが、こんな感じ?

'dic.keys(項目)の書き出し
key = dic.keys
For i = 0 To UBound(key)
 .Cells(i*3 + 4, 1) = key(0)
 .Cells(i*3 + 4, 1).Resize(3).Marge
 .Cells(i*3 + 4, 2) = 1
 .Cells(i*3 + 5, 2) = 2
 .Cells(i*3 + 6, 2) = 3
Next i

匿名質問者さんのコメント
ありがとうございます! 現状のdictionaryの持ち方では、実施できませんでしたが、 教えて頂いた方法を実行できるように、dictinaryの持ち方を変えて、 やりたいことができました。 勉強になりました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ