匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

エクセル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人10回まで
  • 13歳以上
  • 登録:2012/12/06 13:14:57
  • 終了:2012/12/10 11:51:13

ベストアンサー

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/12/07 22:20:06

結合するなら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の持ち方を変えて、
やりたいことができました。

勉強になりました!

2012/12/10 11:51:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません