Skrive ut data fra forskjellige ark ved hjelp av VBA i Microsoft Excel

Anonim

I denne artikkelen vil vi lage en makro for å skrive ut data fra forskjellige ark.

Vi har forskjellige rådata i to ark, og vi ønsker å tilpasse utskrift fra disse arkene.

Før vi kjører makroen, må vi spesifisere hvilken type utskrift som kreves og angi navn, område eller egendefinert visning.

Vi har laget en tilpasset visning "customView1".

Logisk forklaring

Vi har laget “PrintReports” -makro for tilpasset utskrift. Denne makroen sløyfes fra celle A13 til siste rad. Vi kan spesifisere tre forskjellige typer for tilpasset utskrift.

For type 1 må vi spesifisere arknavnet i den neste kolonnen.

For type 2 må vi spesifisere området som vi vil skrive ut.

For type 3 må vi spesifisere navnet på den tilpassede visningen.

Kode forklaring

For hver celle1 i rekkevidde ("A13", ActiveCell.End (xlDown))

Koden ovenfor brukes til å gå fra celle A13 til den siste raden.

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

Koden ovenfor brukes til å hente verdien fra cellen i den neste kolonnen fra den aktive cellen.

Velg Case Cell 1. verdi

Sak 1

'Velge det definerte arket

Ark (DefinedName) .Velg

Sak 2

'Velge det definerte området

Gå til Application.Goto Reference: = DefinedName

Sak 3

'Velge den definerte tilpassede visningen

ActiveWorkbook.CustomViews (DefinedName) .Vis

Avslutt Velg

Select -setningen ovenfor brukes til å velge det angitte området basert på typen definert av brukeren.

ActiveWindow.SelectedSheets.PrintOut

Koden ovenfor brukes til å skrive ut det valgte området.

Følg koden nedenfor

 Option Explicit Sub PrintReports () 'Deklarerte variabler Dim DefinedName As String Dim Cell1 As Range' Deaktivering av skjermoppdateringer Application.ScreenUpdating = False 'Sløyfe gjennom alle cellene for hver celle1 i område ("A13", ActiveCell.End (xlDown)) Ark ("Hoved"). Aktiver "Velge celle Cell1. Velg" Få verdi for arknavn eller definert område DefinedName = ActiveCell.Offset (0, 1) .Value Select Case Cell1.Value Case 1 'Velge de definerte arkarkene (DefinedName Velg Case 2 'Velge det definerte området Application.Goto Reference: = DefinedName Case 3' Velge den definerte egendefinerte visningen ActiveWorkbook.CustomViews (DefinedName) .Show End Select 'Skrive ut de nødvendige dataene ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = True End Sub 

Hvis du likte denne bloggen, del den med vennene dine på Facebook. Du kan også følge oss på Twitter og Facebook.

Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post