プロが教えるわが家の防犯対策術!

いつもお世話になりますNo.2です。
一部抜粋しています
書き出しの部分で
Cells(i, "F").Resize(, 3).Value = myDic(key
で列を指定したいのですひとつひとつ
教えて頂きたいのですが


For i = LBound(var, 1) To UBound(var, 1)

If Not myDic.Exists(var(i, 1)) Then
myDic.Add var(i, 1), Array(var(i, 2) * var(i, 3), var(i, 2) * var(i, 3), 1)
' Array(合計,平均(=合計),1(=初回なので1))
Else


i = 2 '書き出し開始行

For Each key In myDic.Keys
Cells(i, "E").Value = key
Cells(i, "F").Resize(, 3).Value = myDic(key)
i = i + 1
Next

Set myDic = Nothing

End Sub

ご参考になれば幸いです。

質問者からの補足コメント

  • 申し訳ないです
    項目烈ごとにA列 c列  F列に
    書き出したいのですが

      補足日時:2020/03/19 17:09

A 回答 (2件)

No.1です。



確かにItemには3列分のデータを1次元配列で格納してますけど、

>項目烈ごとにA列 c列  F列に

となると『キー』はどうされるのでしょう?
仮にキーは書き出さないってなら、

For Each key In myDic.Keys
Cells(i, "A").Value = myDic(key)(0)
Cells(i, "C").Value = myDic(key)(1)
Cells(i, "F").Value = myDic(key)(2)
i = i + 1
Next

が余計なループを追加せずわかりやすいとは思いますけど。。。。
    • good
    • 0
この回答へのお礼

お忙しいところご返事ありがとうございました
思い通りです

お礼日時:2020/03/19 19:31

列を指定したいとは?


・取り込む方
・書き出す方
・両方?

>Cells(i, "F").Resize(, 3).Value = myDic(key)

これであれば Cells がF列を基準に右方向に Resize で3列広げているので、Cells の中の "F" を他の列に変えれば可能ですよ?
でもそんな簡単な事をお聞きしたい訳ではなさそうな?
まして取り込む前半のコードは無関係になりそうですし。

何かに利用したいと言うのであれば、ぶっちゃけその内容があればポイントで説明できるかもですけど。
    • good
    • 0
この回答へのお礼

いつも有難うございます。
スマホで質問していたので、
文章が分かりにくかったです。
申し訳ございませんでした。

お礼日時:2020/03/19 21:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング