Skriva ut data från olika blad med VBA i Microsoft Excel

Anonim

I den här artikeln kommer vi att skapa ett makro för att skriva ut data från olika blad.

Vi har olika rådata i två blad och vi vill anpassa utskriften från dessa blad.

Innan vi kör makrot måste vi ange vilken typ av utskrift som krävs och ange namn, intervall eller anpassad vy.

Vi har skapat en anpassad vy "customView1".

Logisk förklaring

Vi har skapat ”PrintReports” -makro för anpassad utskrift. Detta makro kommer att loopa från cell A13 till den sista raden. Vi kan ange tre olika typer för skräddarsydd utskrift.

För typ 1 måste vi ange bladnamnet i nästa kolumn.

För typ 2 måste vi ange det intervall för vilket vi vill skriva ut.

För typ 3 måste vi ange namnet på den anpassade vyn.

Kodförklaring

För varje cell1 inom intervallet ("A13", ActiveCell.End (xlDown))

Ovanstående kod används för att slinga från cell A13 till den sista raden.

DefinedName = ActiveCell.Offset (0, 1) .Värde

Ovanstående kod används för att få värdet från cellen i nästa kolumn från den aktiva cellen.

Välj fallcell 1. värde

Fall 1

'Välj det definierade bladet

Ark (definierat namn) .Välj

Fall 2

'Välj det definierade intervallet

Gå till ansökan: = Definierat namn

Fall 3

'Välj den definierade anpassade vyn

ActiveWorkbook.CustomViews (DefinedName). Visa

Avsluta Välj

Ovanstående Select -sats används för att välja det angivna området baserat på den typ som definieras av användaren.

ActiveWindow.SelectedSheets.PrintOut

Koden ovan används för att skriva ut det valda området.

Följ koden nedan

 Alternativ Explicit Sub PrintReports () 'Deklarerade variabler Dim Definierat Namn Som Sträng Dim Cell1 Som intervall' Inaktivera skärmuppdateringar Application.ScreenUpdating = False 'Bläddra igenom alla celler för varje cell1 i intervall ("A13", ActiveCell.End (xlDown)) Ark ("Huvud"). Aktivera "Välja cell Cell1. Välj" Skaffa värde för bladnamn eller definierat område DefinedName = ActiveCell.Offset (0, 1) .Value Select Case Cell1.Value Case 1 'Välj de definierade bladarken (Definierat namn Välj fall 2 'Välja det definierade intervallet Application.Goto Reference: = DefinedName Case 3' Välja den definierade anpassade vyn ActiveWorkbook.CustomViews (DefinedName) .Show End Select 'Printing the required data ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = True End Sub 

Om du gillade den här bloggen, dela den med dina vänner på Facebook. Du kan också följa oss på Twitter och Facebook.

Vi vill gärna höra från dig, låt oss veta hur vi kan förbättra vårt arbete och göra det bättre för dig. Skriv till oss på e -postwebbplatsen