Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3232 / 76735 ←次へ | 前へ→

【79136】Re:dictionary item 追加されない
発言  γ  - 17/5/21(日) 6:33 -

引用なし
パスワード
   (1)ローカルウインドウの表示の件
Sub test()
  Dim dic As Object
  Set dic = CreateObject("Scripting.Dictionary")
  dic("a") = 1
  dic("b") = 2
  Stop
End Sub
でローカルウインドウに表示されるのは、
"a"や"b"であって、1や2ではありません。
"Item"というのは、コレクション的なものの、各要素といった程度の意味です。
そしてdictionaryの場合はキーの値が表示される決まりです。

(2)
ところで、前半はこんな風にも書けるでしょう。
Sub test51()
  Dim dic As Object
  Dim mat As Variant
  Dim s  As String
  Dim i  As Long
  Dim j  As Long
  Dim sh1 As Worksheet

  Set dic = CreateObject("Scripting.Dictionary")
  Set sh1 = Worksheets("Sheet1")

  ' 元データを配列に格納
  mat = sh1.Range("A1").CurrentRegion.Value

  ' dicへデータを格納
  For i = 1 To UBound(mat, 1)
    s = mat(i, 1) & "_" & mat(i, 3)
    dic(s) = dic(s) + mat(i, 4)
  Next

(3)
このあとに続く部分は、アクティブシートに書き込むということですね?
シートを指定したコードにしたほうが間違いがないですよ。
Sheet1をアクティブにしておくと上書きされかねない。

(4)
また、そのキーの値は、予め判明しているのですか?
そのキーたちを、順序を含めて求めることになると、
むしろピボットテーブルを使ったほうが自然かもしれません。

0 hits

【79133】dictionary item 追加されない T-K 17/5/20(土) 23:38 質問[未読]
【79134】Re:dictionary item 追加されない カリーニン 17/5/21(日) 0:47 発言[未読]
【79140】Re:dictionary item 追加されない T-K 17/5/21(日) 9:45 お礼[未読]
【79135】Re:dictionary item 追加されない γ 17/5/21(日) 1:05 発言[未読]
【79136】Re:dictionary item 追加されない γ 17/5/21(日) 6:33 発言[未読]
【79137】Re:dictionary item 追加されない T-K 17/5/21(日) 7:25 質問[未読]
【79138】Re:dictionary item 追加されない γ 17/5/21(日) 7:55 発言[未読]
【79139】Re:dictionary item 追加されない T-K 17/5/21(日) 9:43 お礼[未読]
【79141】Re:dictionary item 追加されない γ 17/5/21(日) 12:04 発言[未読]
【79142】Re:dictionary item 追加されない T-K 17/5/21(日) 16:49 お礼[未読]

3232 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free