与此问题类似,Scripting.Dictionary在VBA中使用对象时,下面代码的结果是意外的.
Option Explicit
Sub test()
Dim d As Variant
Dim i As Integer
Dim s As String
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "a"
Debug.Print d.Count ' Prints '1' as expected
For i = 1 To d.Count
s = d.Item(i)
Debug.Print s ' Prints ' ' (null) instead of 'a'
Next i
Debug.Print d.Count ' Prints '2' instead of '1'
End Sub
Run Code Online (Sandbox Code Playgroud)
使用从零开始的索引,可以获得相同的结果:
For i = 0 To d.Count - 1
s = d.Item(i)
Debug.Print s …Run Code Online (Sandbox Code Playgroud) 我的工作簿有一张,两张或三张.每个工作表可以包含以下列标题中的至少一个:"Tel"或"Number".
如何使用这些列标题名称复制整个列(仅限数据)并将它们(作为只有一列具有相同列标题名称的附加内容)粘贴到VBA代码(Sheet Module)所在的另一个工作簿表中.谢谢.