多くのワークブックでこの問題が発生し、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 または AdobePDF 印刷を使用すると、ファイル名を複数回 (この場合は 3 回) 要求されるため、さらに明白になります。
PrintOut の前にブレークポイントを置くと、シートが適切に選択され、異常/予期しないものは何も表示されません。
何か案が ?