Excel 下拉菜单在 运行 宏时移动

Excel Dropdown move when running macro

我在编程时遇到了 Excel sheet 的问题。

sheet 包含几个下拉列表,用户可以在其中 select 数据。用户完成数据填写后,他单击一个按钮,该按钮 运行 是一个 vba 用于打印、导出和清空表单的脚本。

我现在的问题是,当我 运行 脚本一切正常时,除了下拉表单被移动和调整得非常小。

我正在使用此代码清除表单的内容:

Sheets("Inl1").Range("A9").Select
    Selection.ClearContents

下拉菜单的设置是 Locked = True

Excel sheet 受到保护。

我正在使用 Excel 2007。有什么我遗漏的吗?

编辑:

调整大小发生在导出过程中。

s = Range("C31").Value
Sheets(Array("Front", "Sheet", "Sheet2")).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
s, Quality:=xlQualityStandard, IncludeDocProperties _
:=True, IgnorePrintAreas:=False

编辑 2:

这是我 运行 PDF 导出脚本之前的 Excel 表格:

这是我 运行 脚本后的 Excel 表格:

我找到了以下修复方法

  • 单击开始,单击 运行,在打开框中键入 regedit,然后单击确定。
  • 找到并 select 以下注册表子项:

HKEY_CURRENT_USER\Software\Microsoft\Office.0\Excel\Options

  • 在“编辑”菜单上,指向“新建”,然后单击“DWORD(32 位)值”。
  • 键入 MultiSheetPrint,然后按 Enter。
  • 在“详细信息”窗格中,右键单击“MultiSheetPrint”,然后单击“修改”。
  • 在“数值数据”框中,键入 1,然后单击“确定”。
  • Select 再次输入以下注册表子项: HKEY_CURRENT_USER\Software\Microsoft\Office.0\Excel\Options

  • 在“编辑”菜单上,指向“新建”,然后单击“DWORD(32 位)值”。

  • 键入 LegacyAnchorResize,然后按 Enter。
  • 在“详细信息”窗格中,右键单击“LegacyAnchorResize”,然后单击“修改”。
  • 在“数值数据”框中,键入 1,然后单击“确定”。
  • 退出注册表编辑器。