Druckdaten aus verschiedenen Blättern mit VBA in Microsoft Excel
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.
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.
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]