Gegevens van verschillende bladen afdrukken met VBA in Microsoft Excel

Anonim

In dit artikel zullen we een macro maken om gegevens van verschillende bladen af ​​te drukken.

We hebben verschillende onbewerkte gegevens in twee bladen en we willen de afdruk van deze bladen aanpassen.

Voordat we de macro uitvoeren, moeten we het vereiste type afdruk specificeren en de naam, het bereik of de aangepaste weergave specificeren.

We hebben een aangepaste weergave "customView1" gemaakt.

Logische uitleg

We hebben de macro "PrintReports" gemaakt voor afdrukken op maat. Deze macro loopt door vanaf cel A13 tot de laatste rij. Voor bedrukking op maat kunnen we drie verschillende typen specificeren.

Voor type 1 moeten we de bladnaam opgeven in de volgende kolom.

Voor type 2 moeten we het bereik specificeren waarvan we de afdruk willen hebben.

Voor type 3 moeten we de naam van de aangepaste weergave opgeven.

Code uitleg

Voor elke cel1 binnen bereik ("A13", ActiveCell.End (xlDown))

De bovenstaande code wordt gebruikt om te lussen vanaf cel A13 tot de laatste rij.

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

De bovenstaande code wordt gebruikt om de waarde uit de cel in de volgende kolom uit de actieve cel te halen.

Selecteer Case Cell1.Waarde

Zaak 1

'Het gedefinieerde blad selecteren'

Bladen (gedefinieerde naam). Selecteer

Geval 2

'Het gedefinieerde bereik selecteren'

Application.Goto Reference:=DefinedName

Geval 3

'De gedefinieerde aangepaste weergave selecteren'

ActiveWorkbook.CustomViews(DefinedName).Toon

Einde Selecteren

De bovenstaande Select-instructie wordt gebruikt om het opgegeven gebied te selecteren op basis van het type dat door de gebruiker is gedefinieerd.

ActiveWindow.SelectedSheets.PrintOut

De bovenstaande code wordt gebruikt om het geselecteerde gebied af te drukken.

Volg hieronder voor de code:

 Optie Explicit Sub PrintReports() 'Gedeclareerde variabelen Dim DefinedName As String Dim Cell1 As Range 'Schermupdates uitschakelen Application.ScreenUpdating = False 'Door alle cellen doorlopen For Each Cell1 In Range("A13", ActiveCell.End(xlDown)) Bladen ("Hoofd").Activeren 'Selecteren van de cel Cell1.Select' 'Waarde van bladnaam of gedefinieerd bereik ophalen DefinedName = ActiveCell.Offset(0, 1).Waarde Select Case Cell1.Value Case 1 'Selecteren van het gedefinieerde blad Sheets(DefinedName ).Selecteer Case 2 'Selecteren van het gedefinieerde bereik Application.Goto Reference:=DefinedName Case 3 'Selecteren van de gedefinieerde aangepaste weergave ActiveWorkbook.CustomViews(DefinedName).Show End Selecteer 'De vereiste gegevens afdrukken ActiveWindow.SelectedSheets.PrintOut Volgende Application.ScreenUpdating = True End Sub 

Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.

We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite