In diesem Artikel erstellen wir ein Makro zum Drucken von Daten aus verschiedenen Blättern.

Wir haben unterschiedliche Rohdaten in zwei Blättern und möchten den Ausdruck dieser Blätter anpassen.

ArrowRawFirst

ArrowRawSecond

ArrowMain

Bevor wir das Makro ausführen, müssen wir die Art des erforderlichen Ausdrucks angeben und den Namen, den Bereich oder die benutzerdefinierte Ansicht angeben.

ArrowCustomView

Wir haben eine benutzerdefinierte Ansicht „customView1“ erstellt.

Logische Erklärung

Wir haben das Makro „PrintReports“ für das benutzerdefinierte Drucken erstellt. Dieses Makro wird von Zelle A13 bis zur letzten Zeile wiederholt. Wir können drei verschiedene Typen für den benutzerdefinierten Druck angeben.

Für Typ 1 müssen wir den Blattnamen in der nächsten Spalte angeben.

Für Typ 2 müssen wir den Bereich angeben, für den der Ausdruck erfolgen soll.

Für Typ 3 müssen wir den Namen der benutzerdefinierten Ansicht angeben.

Code Erklärung

Für jede Zelle1 im Bereich („A13“, ActiveCell.End (xlDown))

Der obige Code wird verwendet, um eine Schleife von Zelle A13 bis zur letzten Zeile durchzuführen.

DefinedName = ActiveCell.Offset (0, 1) .Value Der obige Code wird verwendet, um den Wert aus der Zelle in der nächsten Spalte aus der aktiven Zelle abzurufen.

Wählen Sie Case Cell1.Value Case 1 ‚Auswählen der definierten Blattblätter (DefinedName). Wählen Sie Case 2‘ Auswählen des definierten Bereichs Application.Goto Reference: = DefinedName Case 3 ‚Auswählen der definierten benutzerdefinierten Ansicht ActiveWorkbook.CustomViews (DefinedName) .Show End Select Die obige Select-Anweisung wird verwendet, um den angegebenen Bereich basierend auf dem vom Benutzer definierten Typ auszuwählen.

ActiveWindow.SelectedSheets.PrintOut Der obige Code wird zum Drucken des ausgewählten Bereichs verwendet.

Bitte folgen Sie unten für den Code

Option Explicit

Sub PrintReports()

'Declared variables

Dim DefinedName As String

Dim Cell1 As Range

'Disabling screen updates

Application.ScreenUpdating = False

'Looping through all the cells

For Each Cell1 In Range("A13", ActiveCell.End(xlDown))

Sheets("Main").Activate



'Selecting the cell

Cell1.Select



'Getting value of sheet name or defined range

DefinedName = ActiveCell.Offset(0, 1).Value



Select Case Cell1.Value



Case 1

'Selecting the defined sheet

Sheets(DefinedName).Select

Case 2

'Selecting the defined range

Application.Goto Reference:=DefinedName

Case 3

'Selecting the defined custom view

ActiveWorkbook.CustomViews(DefinedName).Show

End Select



'Printing the required data

ActiveWindow.SelectedSheets.PrintOut



Next

Application.ScreenUpdating = True

End Sub

Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]