4

多くのワークブックでこの問題が発生し、VBA でいくつかのシートを選択して次の行を使用して印刷すると、Excel は複数ページの 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 または Adob​​ePDF 印刷を使用すると、ファイル名を複数回 (この場合は 3 回) 要求されるため、さらに明白になります。

PrintOut の前にブレークポイントを置くと、シートが適切に選択され、異常/予期しないものは何も表示されません。

何か案が ?

4

1 に答える 1