2013-06-19 23 views
4

我們在很多工作簿上都有這個問題,我們用VBA選擇幾張工作表並使用以下行打印它們,Excel將實際打印多個而不是1組多個頁面。PrintOut打印工作組而不是1組

ActiveWindow.SelectedSheets.PrintOut

這裏是一個Sub的例子有此行爲:

Private Sub imprimer(iColTypeRapport As Integer) 
    Dim cell As range, rangeImpr As range, colonne As range 
    Dim debute As Boolean ' True seulement si on a déjà sélectionné une feuille 

    On Error GoTo erreur 

    application.ScreenUpdating = False 

    debute = False 
    Set rangeImpr = ActiveSheet.range("impression") 
    Set colonne = rangeImpr.Offset(0, iColTypeRapport).EntireColumn 

    For Each cell In rangeImpr 
     If LCase(Intersect(cell.EntireRow, colonne)) = "o" Then 
      If Not debute Then 
       Worksheets(cell.Value).Select 
       debute = True 
      Else 
       Worksheets(cell.Value).Select False 
      End If 
     End If 
    Next cell 

    ActiveWindow.SelectedSheets.PrintOut 

    Worksheets("TableauDeBord").Select 
    application.ScreenUpdating = True 
    Exit Sub 

erreur: 
    Call GestionErreur(Err.Number, Err.Description, "modRequete", "ImportData") 
End Sub 

這更是明顯發,如果我們使用Print2PDF或了AdobePDF打印,因爲它會提示多次(在此情況下,3次)文件名。

如果我在PrintOut之前放置了一個斷點,表格被選擇得適當,並且沒有看到任何異常/意外。

有什麼想法?

+0

如果您從Excel界面選擇並打印它們,是否會得到相同的行爲? –

+0

是的,我願意!這似乎並不是因爲不連續的圖紙選擇(這是我的第一次猜測),但我無法弄清楚爲什麼有一組頁面。在這種情況下,甚至有一個頁面自己打印(即1個組)。我檢查了他們都有相同的格式,他們這樣做。 – ApplePie

+0

轉到常規打印界面。你可能有打印3份的東西嗎? –

回答

1

我見過這個。它可能與不同的打印分辨率有關。如果您搜索「打印工作簿生成多個PDF」,您會發現一些答案。特別是PDF問題,可以通過將「另存爲」替代爲PDF來解決問題(在XL 2​​010中,我猜測,2007)。

+1

或者當然你可以使所有的表格具有相同的分辨率。 –