2016-07-28 43 views
0

我使用的代碼無法添加到ActiveWindow.SelectedWorksheets

Worksheet.Select Replace:=False 

它不會增加ActiveWindow.SelectedWorksheets

下在所有環境中無法正常工作。

For i = 2 To ActiveWorkbook.Worksheets.Count 
    ActiveWorkbook.Worksheets(i).Select Replace:=False 
Next i 

ActiveWindow.SelectedSheets.PrintPreview 

打印預覽只顯示1頁(第一/活性片)。如果我請求計數,其也是1,但我得到了更多的則1個工作表(實際上超過10

它看起來像它是與Windows更新(因爲用戶體驗,它突然沒有任何更改爲宏)。

最近有沒有人過期相同的問題?

我該如何解決這個問題?

+0

如果你認爲它有事件去,你可以嘗試做你的循環 – litelite

+0

只是Xl2010測試之後添加一個'DoEvents'。沒有問題... –

+2

你確定'ActiveWorkbook'是你認爲實際上活躍的嗎?也許你想嘗試'ThisWorkbook'而不是'ActiveWorkbook'? –

回答

1

我們的工作簿中有一位用戶報告了一個問題,但直到安裝最新的更新之後才顯示在我的機器上。看來問題出在Replace:= False。原件在下面。

Worksheets("Proposal").Select Replace:=False 
Worksheets("Terms").Select Replace:=False 
Worksheets("Soft Maint").Select Replace:=False 
Worksheets("Emerg Servi").Select Replace:=False 
Worksheets("Spl Prov").Select Replace:=False 
Worksheets("Equip List").Select Replace:=False 
If Application.Sum(Worksheets("Quote Info").Range("B23")) = 1 Then Sheets("FA T&I").Select Replace:=False 
If Application.Sum(Worksheets("Quote Info").Range("B23")) = 2 Then Sheets("FA T&M").Select Replace:=False 

經過多次嘗試,我想出了這個,它的工作。不知道爲什麼,但我不是抽屜裏最鋒利的刀。我只是改變了前幾行,但認爲我會過去整個事情,以防萬一。

Sheets(Array("Proposal", "Terms", "Soft Maint", "Emerg Servi", "Spl Prov", "Equip List")). _ 
    Select Replace:=False 
If Application.Sum(Worksheets("Quote Info").Range("B23")) = 1 Then Sheets("FA T&I").Select Replace:=False 
If Application.Sum(Worksheets("Quote Info").Range("B23")) = 2 Then Sheets("FA T&M").Select Replace:=False 

希望這有助於

+0

爲了清楚起見,您不妨編輯您的答案,以僅包含已更改的行。 –

+0

我會接受這個答案,因爲當使用打印按鈕它確實有效。 此外,它確實顯示它有多個頁面。要真正看到下一頁,滾動到或點擊下一頁按鈕是不夠的。我還需要放大/縮小以查看頁面的預覽。 看起來像MS剛剛引入了一個錯誤。 – Dexter

+0

糟糕...我的壞。這真實的作品非常棒。在顯示printpreview之前,我只忘了重新啓用screenupdating(Application.ScreenUpdating = True)。 – Dexter