0

我确信这很简单,但我已经看了一遍,找不到解释。当然,很多其他人希望将模块和用户表单移动到另一个工作簿。我导出了 3 个模块和 1 个用户表单,然后将它们导入到一个新工作簿中。导出的用户表单名称是“NUI”,当我在导入名称后查看新工作簿中的属性时,仍然是“NUI”。但是,现在当我尝试运行 sub 以显示用户窗体时,我得到一个运行时数据不匹配错误,并且 NUI 在 NUI.StartUpPosition 行中突出显示。任何想法为什么这不再有效?是否有某种需要断开的链接?该模块是否仍然尝试在其他文件中查找一些用户表单 NUI?如果我在新工作簿中删除用户表单并添加一个新用户表单,当我尝试将其命名为 NUI 时,它告诉我这个名字正在使用中。有任何想法吗?

Sub CallUserForm()
    '  Calls UserFrom NUI and centers it to excel window whether it is full screen or not.
    PO.Unprotect Password:="1234"
    PO.Activate

    NUI.StartUpPosition = 0
    NUI.Top = Application.Top + 125
    NUI.Left = Application.Left + Application.Width / 2 - NUI.Width / 2
    NUI.Show
    PO.Protect Password:="1234"
End Sub
4

1 回答 1

0

我刚刚尝试了您描述的内容(导出表单和模块,导入新电子表格)。它对我来说很好。但是:我想知道您是否可能不小心将表单的副本导入了原始文件(而不是新文件)。

如果我从新文件中删除表单,我会收到与您相同的错误,因此请检查您是否确实导入到了新位置。

于 2015-01-05T23:00:20.373 回答