3

Excelシートの列に挿入したい大きな辞書キーがあります。これは以下で行いました:

Dim a, d, i 'Create some variables
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens" 'Add some keys and items.
d.Add "b", "Belgrade"
d.Add "c", "Cairo"

a = d.keys 'Get the keys

For i = 0 To d.Count - 1 'Iterate the array
    ob.Cells(i + 1, 1).Value = a(i)
Next

しかし、それは1つのステートメントで行うことができますか? obj2.Cells(1,1).Resize(dicP.Count,1)=aこれも試したと言いますが、 で定義した範囲に最初のキーだけを入れていResizeます。

4

1 に答える 1

3

このような?

Sub a()
    Dim d '<~~ Create some variable
    Dim sKeys()

    Set d = CreateObject("Scripting.Dictionary")
    d.Add "a", "Athens" 'Add some keys and items.
    d.Add "b", "Belgrade"
    d.Add "c", "Cairo"

    '~~> Get dictionary Keys
    sKeys = d.keys

    Range("A1").Resize(d.Count) = Application.Transpose(sKeys)
End Sub
于 2012-12-21T08:09:00.240 に答える