如何在 Excel 中复制多个用户表单?

如何在 Excel 中复制多个用户表单?

我有一个 Excel 工作簿,里面有 14 个用户表单(每个表单用于输入略有不同的数据类型)。工作簿的行为一直很奇怪——每当我关闭表单时,Excel 应用程序就会退出。我想将所有表单复制到另一个工作簿中,这样我就可以查看它是损坏的工作簿还是问题出在我的代码中。但在 VBE 中,我一次只能复制一个表单。有没有更好的方法可以一次复制多个表单?

答案1

我发现修复损坏的宏二进制 Excel 文件的最佳工具是免费的VBA 代码清理器。安装它将Clean Project...向 VBE 工具菜单添加一个选项。

  1. 在 Excel 中打开问题文件。
  2. 在 VBE 中,选择Tools->Clean Project...
  3. 选择要清理的工作簿并单击“确定”。
  4. 完成后,重新编译宏并保存。

如果这不起作用,或者你确实想将所有模块从现有的 Excel 文件移到新文件中,我使用的另一个方法是源工具插件。如果您希望它始终可用,请将其保存到%APPDATA%\Microsoft\Excel\XLSTART\。SourceTools 向 VBE 添加一个工具栏。

  1. 在 Excel 中打开问题文件并显示 VBE。
  2. 在项目资源管理器中,选择问题文件的项目名称。
  3. 单击 SourceTools 工具栏上的软盘图标。(这会将所有模块保存到 [filename].src 文件夹。例如,C:\Data\Test.xlsm 现在将有一个 C:\Data\Test.xlsm.src\ 文件夹。)
  4. 创建一个新的工作簿并单击 SoruceTools 工具栏上的打开文件夹图标。
  5. 选择刚刚创建的源文件夹。
  6. 您将需要手动复制 ThisWorkbook 和任何 Sheet 模块中的任何代码。

相关内容