在集合中打印条目

我有一个包含x个项目的集合。 我只需要将该集合的内容输出到Excel列中。

For Each item In myCollection 'Insert code here Next item 

任何想法我怎么能做到这一点?

您可以将起始行或列从1更改为任何您想要的。 你也可以通过用'c = c + 1'代替'r = r + 1'来增加列来插入单元格。

注意:将“Sheet1”更改为任何工作表名称,这只是我使用的默认名称,因为我不知道实际工作表的名称。

 Dim r As Integer Dim c As Integer r = 1 'Row 1 c = 1 'Column A For Each item In myCollection ThisWorkbook.Worksheets("Sheet1").Cells(r, c).Value = item 'Increment Row by 1 r = r + 1 Next item 

这是Dictionary对象优于Collection对象的原因之一。

使用集合,您必须遍历整个集合对象来检索所有的值。

使用字典,您可以一次检索所有的值,写入工作表时这是一个巨大的速度恩赐。 一次编写一个单元格是在Excel中可以做的效率最低的事情之一。

所以这里是如何转换为使用字典。 注意最后一行。 整个字典一次写入范围:

 Sub zaanwar() Dim myDictionary As Object Set myDictionary = CreateObject("scripting.dictionary") With myDictionary .Item("key1") = "val1" .Item("key2") = "val2" .Item("key3") = "val3" .Item("key4") = "val4" End With [a1:d4] = Application.Transpose(myDictionary.Items) End Sub