全部,
我最近构建了一个主要由 VBA 宏运行的工作表(内置于 Excel 2007)。此表单的功能之一是,当用户单击按钮时,它会运行一个宏,该宏会在表单中填充列表框,然后显示表单并允许他们执行与该列表相关的一些事情。
这个宏在我的电脑上运行良好,也适用于我在办公室测试过的 3 或 4 台其他用户的电脑。
但是,当位于波兰的用户尝试使用它时,他会收到“无法设置列表属性”。当他单击按钮时,键入不匹配错误。
他正在使用 Office 2010 Plus。我已经在我办公室的同事计算机上对此进行了测试,该计算机也使用 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").value 是员工姓名。Sheet1.Cells(i,33)(用于 2 到 9)是一个包含填充到列表框中的区域名称的范围。
收到错误的员工可以访问一个区域(这意味着列表框应该填充一项)。我只更改了对该区域的访问权限,没有任何问题。对在我办公室使用 2010 的用户也这样做了,对他来说效果很好。
有任何想法吗?因这个错误而迷失了方向。
编辑:我现在有一个(我假设)不相关的发展。此特定员工现在收到一条错误消息,指出“Microsoft Excel 正在等待另一个应用程序完成 OLE 操作”。
我也很困惑为什么会抛出这个错误。有关信息:有一个在工作簿打开时运行的宏,它会打开另一个位于共享驱动器上的工作表。共享驱动器已映射到该员工的计算机,因此这不是问题。
远程访问的工作簿是共享工作簿,因为多人可能同时使用此工作表。
此员工在宏尝试打开工作簿时收到 OLE 错误。当他点击“确定”时,通知会停留在那里并有效地挂起。
我不知道为什么会这样。我认为两个人同时尝试访问共享工作簿可能存在问题,但我与位于我办公室的几个同事对此进行了测试,并且没有问题。
对此有什么想法吗?这位特殊的员工遇到的问题完全让我难过。