Vba 我们可以用一条语句将字典键分配给一列吗?
我有大的字典键,我想将其插入excel工作表的列中。我通过以下操作完成了此操作:Vba 我们可以用一条语句将字典键分配给一列吗?,vba,excel,vbscript,Vba,Excel,Vbscript,我有大的字典键,我想将其插入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.
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
但这能在一份声明中实现吗?比如说obj2.Cells(1,1).Resize(dicP.Count,1)=a
我也试过这个,但它只把第一个键放在我定义的范围内,就像这样
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
suba()
我没有字典钥匙
sKeys=d.keys
范围(“A1”).Resize(d.Count)=应用程序转置(sKeys)
端接头
然后该列会被该Dic对象的所有键值填充吗?在我的例子中,指定的列只包含sKeys(0)
值,并没有将数组的全部内容添加到该列中?我刚刚测试了它,它工作了。。。你能更新你正在使用的代码吗?你能在下面的帖子中帮我吗?我写了它,但没有得到我在描述中描述的预期输出@DanielCook已经在帮你解决这个问题了。我建议你耐心一点,让他来帮你;)您也可以使用循环来填充词典
,而不是逐个添加;)