Dim d As New Dictionary 为前期绑定 Set d = CreateObject("Scripting.Dictionary") 为后期绑定 为后期绑定 是在代码运行期间 VBE才取得 Dictionary 一些属性及方法,这么嵌套调用,VBE有些“晕”[em06] 不过这应该是 Dictionary 源代码中的一些问题,咱们改变不了 Dictionary 源代码,改一下自己的代码还是没问题的,变通一下 arr = d.Keys For i = 1 To d.Count d(arr(i - 1)).Copy Cells(i + 10, 1) '借助一个变量来调用就没事了 Next Sheet2.Range("A1").Resize(d.Count, 4) = Application.Transpose(Application.Transpose(d.Items)) 这样当然更好,我在其他的贴子里提到过这个技巧。Transpose是EXCEL自带的数组转换函数,效率非常高, 但Transpose只能转化65536以下的数组 ,这个毛病到了2007 也没有改进, 也许2007曾出过补丁解决这个问题,但我一直没使用过2007
[此贴子已经被作者于2008-9-25 23:58:14编辑过] |