【发布时间】:2022-01-09 14:46:40
【问题描述】:
我有一个非常复杂的 Excel 宏工作簿。 VBA 代码似乎在我所在位置的 PC 上运行良好。一旦我将它发送给一位德国同事,它就无法在代码的意外位置运行。
我遇到的最后一个问题是Runtime error 5,当代码尝试修改UserForm 的Caption(以及一些文本框和cmd 按钮)时。
以前我们在 SlicerCache(x).ClearManualFilter 上遇到过同样的问题,但不知何故我治愈了自己...
我的第一个想法是打破巢With 并查看导致失败的行,但它立即是第一行。我认为它会对所有行执行相同的操作。
我检查了 windows 和 office 设置:
- 我正在运行 Win10,英语语言设置和匈牙利语格式设置。 -> 代码运行良好。
- 我当地的同事使用匈牙利语和格式运行相同的系统。 -> 代码运行良好。
- 有问题的同事使用德语和格式设置运行 Win10。 -> 代码无法运行。
- 我们在 VBA 编辑器中都有相同的参考库,没有丢失。 (我假设它是由 excel 文件本身携带的。)
- 我有 Microsoft 365 MSO (16.0.13801.21050) 32 位,他运行 16.013801.21004 32 位。 (我想是 IT 部门安排的更新。)这部分代码在我最近一次办公室更新之前几个月,所以我不认为这是一个原因。
sub由CommandButton_Click事件调用,并调用用户表单zurueckExport。表格的设计是为了可以调用不同的目的,所以必须根据需要修改标题。
我已经没有想法了,不知道是什么原因造成的。有人可以帮我解决这个问题吗?我会很高兴的。
Public Sub verExport()
With zurueckExport
.Caption = "Version Exportieren zum Creo"
.Label1.Caption = "Welche Version möchten Sie zum Creo exportieren?"
.CommandButtonExportieren.Visible = True
.CommandButtonZurueckladen.Visible = False
.CommandButtonKennlinie.Visible = False
.KennlinieFormat.Visible = False
.Show
End With
End Sub
【问题讨论】:
-
您是否尝试使用不同/更短的标题?像“Test 123”之类的?
-
我不认为设置标题会导致问题。它只是访问
zurueckExport的第一行代码。我猜这会触发表单中的一些代码执行。在 VBE 中,转到工具-> 选项。在常规选项卡上,选择“中断类模块”。现在重新运行代码并检查是否显示了不同的错误位置。 -
我们有一个宏需要在 5 个不同的国家/地区运行,所以我们有一个子程序来获取所有本地信息并在运行宏的内容之前设置它 - 用图表对我们的问题进行排序,x -轴标签等
-
@J0eBl4ck 你是对的,标题太长,导致了问题。
-
@SolarMike 这是个好主意,我会在未来尝试实施。坦克:)
标签: excel vba userform regional-settings