【问题标题】:Excel Dropdown move when running macro运行宏时Excel下拉菜单移动
【发布时间】:2016-05-30 07:51:14
【问题描述】:

我正在编程的 Excel 工作表出现问题。

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

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

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

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 表单:

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

【问题讨论】:

  • 准备打印时,您的脚本会做什么。从您发布的调整大小发生的位置来看,尚不完全清楚。可以贴代码。
  • 感谢您的评论!我检查了代码的每一步,发现调整大小发生在导出期间:
  • 我仍然很难想象到底发生了什么。可以发截图吗?不只是视图缩放吗?我无法想到导出会改变格式。
  • 感谢您的回复。我发布了屏幕截图。
  • 我已经不在办公桌前了,但我有两个想法可能会对您有所帮助。它们是否正确地锚定到它们的父单元?您可以尝试使用 Form ComboBox 而不是 ActiveX。如果需要,请参阅此帖子:stackoverflow.com/questions/37007492/…

标签: vba excel macros excel-2007


【解决方案1】:

我找到了以下修复

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

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Excel\Options

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

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

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

【讨论】:

    猜你喜欢
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 2017-02-04
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多