运行宏

时间:2016-05-30 07:51:14

标签: excel vba excel-vba macros excel-2007

我在编写Excel表格时遇到了麻烦。

该表包含多个下拉列表,用户可以在其中选择数据。一旦用户填写完他的数据,他就会点击一个运行vba脚本的按钮,用于打印,导出和清空表单。

我现在的问题是,当我运行脚本时,所有内容都应该正常运行,除非Dropdown表单被移动并且调整得非常小。

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

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

下拉列表的设置为Locked = True

Excel表格受到保护。

我使用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表单: Form before

这是运行脚本后的Excel表单: enter image description here

1 个答案:

答案 0 :(得分:0)

我找到了以下修复

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

HKEY_CURRENT_USER \软件\微软\办公室\ 14.0 \ EXCEL \选项

  • 在“编辑”菜单上,指向“新建”,然后单击“DWORD(32位)值。
  • 键入MultiSheetPrint,然后按Enter键。
  • 在“详细信息”窗格中,右键单击“MultiSheetPrint”,然后单击“修改”。
  • 在“数值数据”框中,键入1,然后单击“确定”。
  • 再次选择以下注册表子项: HKEY_CURRENT_USER \软件\微软\办公室\ 14.0 \ EXCEL \选项

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

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