Drucken von Daten aus verschiedenen Blättern mit VBA in Microsoft Excel

Anonim

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

Wir haben verschiedene Rohdaten in zwei Blättern und möchten den Ausdruck von diesen Blättern anpassen.

Vor dem Ausführen des Makros müssen wir die Art des gewünschten Ausdrucks angeben und den Namen, den Bereich oder die benutzerdefinierte Ansicht angeben.

Wir haben eine benutzerdefinierte Ansicht „customView1“ erstellt.

Logikerklärung

Wir haben das Makro „PrintReports“ für den individuellen Druck erstellt. Dieses Makro wird von Zelle A13 bis zur letzten Zeile durchlaufen. Wir können drei verschiedene Typen für den kundenspezifischen Druck spezifizieren.

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.

Codeerklärung

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

Der obige Code wird verwendet, um von Zelle A13 bis zur letzten Zeile eine Schleife zu erstellen.

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 zu erhalten.

Wählen Sie Case Cell1.Value

Fall 1

'Das definierte Blatt auswählen

Sheets(DefinedName).Auswählen

Fall 2

'Auswahl des definierten Bereichs

Application.Goto Reference:=DefinedName

Fall 3

'Auswählen der definierten benutzerdefinierten Ansicht

ActiveWorkbook.CustomViews(DefinedName).Show

Auswahl beenden

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 verwendet, um den ausgewählten Bereich zu drucken.

Bitte folgen Sie unten für den Code

 Option Explicit Sub PrintReports() 'Deklarierte Variablen Dim DefinedName As String Dim Cell1 As Range 'Deaktivieren von Bildschirmaktualisierungen Application.ScreenUpdating = False 'Durchlaufen aller Zellen für jede Zelle1 im Bereich("A13", ActiveCell.End(xlDown)) Sheets ("Main").Activate 'Auswählen der Zelle Cell1.Select 'Wert des Blattnamens oder des definierten Bereichs abrufen DefinedName = ActiveCell.Offset(0, 1).Value Select Case Cell1.Value Case 1 'Auswählen des definierten Blatts Sheets(DefinedName ).Select 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 'Drucken der erforderlichen Daten ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = True End Sub 

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.

Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site