2016-05-30 30 views
0

我在編寫Excel工作表時遇到問題。運行宏時的Excel下拉列表移動

工作表包含幾個下拉列表,用戶可以在其中選擇數據。一旦用戶填寫完他的數據,他就會點擊一個運行vba腳本的butten,用於打印,導出和清空表單。

我現在的問題是,當我運行腳本時,除非下拉窗體被移動並調整大小非常小,否則應該如此。

我使用這個代碼,以清除表單的內容:

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

爲下拉的設置已鎖定=真

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:

這是Excel的表格前,我跑了PDF導出腳本: Form before

這是excel表格後,我跑了劇本: enter image description here

+0

你在準備打印時做了什麼腳本?從您發佈調整大小的位置不完全清楚。可以發佈代碼。 – ib11

+0

感謝您的評論!我檢查了代碼的每一步,發現在導出期間發生了調整大小: –

+0

我仍然很難確切地描述發生的情況。你可以發佈屏幕抓取?這不僅僅是視圖縮放嗎?我不能認爲導出會改變格式。 – ib11

回答

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,然後單擊確定。
  • 退出註冊表編輯器。