Excel的VBA:无法设置列表属性错误的同事组件..但它适用于我的?

所有,

我最近build立了一个大多由VBAmacros运行的工作表(在Excel 2007中构build)。 这张表的function之一是,当用户点击一个button时,它会运行一个macros来填充表单中的列表框,然后显示表单,并允许他们做一些与该列表相关的事情。

这个macros可以在我的电脑上正常工作,也可以在我的办公室里testing过3或4个用户的电脑。

但是,当位于波兰的用户试图使用它时,他会收到一个'无法设置列表属性。 types不匹配“错误,当他点击button。

他正在使用Office 2010 Plus。 我已经在我的办公室里的一个同事电脑上testing了这个,他也在使用2010,而且工作的很好。

用户得到错误似乎是使用波兰语版本的Excel,所以我不知道这是否是造成这个问题? 以下是返回错误的代码:

Sub AccountAssignmentChange() count = 0 AssignAccounts.ExecName.Caption = "Account Management for " _ & ActiveSheet.Range("D4").Value For i = 2 To 9 If Not Sheet1.Cells(i, 33) = "" Then With AssignAccounts.RegionBox .AddItem .List(count) = Sheet1.Cells(i, 33) count = count + 1 End With End If Next AssignAccounts.Show End Sub 

为了澄清,Activesheet.Range(“D4”)。值是一个员工的名字。 Sheet1.Cells(i,33)(2到9)是一个范围,包含填充到列表框中的区域名称。

获取错误的员工可以访问一个区域(这意味着列表框应该填充一个项目)。 我改变了我的访问只有该地区,并没有任何问题。 对于在我的办公室使用2010的用户也是如此,对他来说工作得很好。

另外,这里是员工发给我的错误的截图。

有任何想法吗? 相当迷失,这个错误。

编辑:我现在有一个(我假设)无关的发展。 此特定员工正在收到一个错误,指出“Microsoft Excel正在等待另一个应用程序来完成OLE操作”。

我也难住为什么这个错误被抛出。 有关信息:在工作簿打开时运行的macros将打开另一个工作表,该工作表位于共享驱动器上。 共享驱动器已映射到此员工的计算机,所以这不是问题。

远程访问的工作簿是共享工作簿,因为多个人可能同时使用此工作表。

此员工正在收到OLE错误macros尝试打开工作簿时。 当他点击“确定”通知停留在那里,并有效地挂起。

我不知道为什么会这样。 我认为两个人同时尝试访问共享工作簿可能会有问题,但是我与位于我办公室的一对夫妇进行了testing,结果没有任何问题。

任何想法呢? 这个特殊的员工有问题,完全是我的问题。

使用下面的(编辑的)代码。 你需要记住ListBoxes就像网格,.List属性需要一个Column和Row参数,即.List(1,0)…

此外,请确保波兰的用户将其参考(Microsoft Office 14.0 Object Library)添加到他的工作簿中。

 Sub AccountAssignmentChange() count = 0 AssignAccounts.ExecName.Caption = "Account Management for " _ & ActiveSheet.Range("D4").Value For i = 2 To 9 If Not Sheet1.Cells(i, 33) = "" Then With AssignAccounts.RegionBox .AddItem 0 'Speficy the list reference (top) .List(count, 0) = Sheet1.Cells(i, 33) 'Call the correct list... count = count + 1 End With End If Next AssignAccounts.Show End Sub