In questo articolo creeremo una macro per stampare dati da fogli diversi.
Abbiamo diversi dati grezzi in due fogli e vogliamo personalizzare la stampa da questi fogli.
Prima di eseguire la macro, dobbiamo specificare il tipo di stampa richiesta e specificare il nome, l'intervallo o la visualizzazione personalizzata.
Abbiamo creato una vista personalizzata "customView1".
Spiegazione logica
Abbiamo creato la macro “PrintReports” per la stampa personalizzata. Questa macro eseguirà un ciclo a partire dalla cella A13 fino all'ultima riga. Possiamo specificare tre diversi tipi per la stampa personalizzata.
Per il tipo 1, dobbiamo specificare il nome del foglio nella colonna successiva.
Per il tipo 2, dobbiamo specificare l'intervallo per il quale vogliamo la stampa.
Per il tipo 3, è necessario specificare il nome della visualizzazione personalizzata.
Spiegazione del codice
Per ogni cella1 nell'intervallo ("A13", ActiveCell.End(xlDown))
Il codice sopra viene utilizzato per eseguire il ciclo a partire dalla cella A13 fino all'ultima riga.
DefinedName = ActiveCell.Offset(0, 1).Value
Il codice sopra viene utilizzato per ottenere il valore dalla cella nella colonna successiva dalla cella attiva.
Seleziona Case Cell1.Value
Caso 1
'Selezione del foglio definito
Fogli (nome definito).Seleziona
Caso 2
'Selezione dell'intervallo definito
Riferimento Application.Goto:=DefinedName
Caso 3
'Selezione della vista personalizzata definita
ActiveWorkbook.CustomViews(DefinedName).Show
Fine selezione
L'istruzione Select di cui sopra viene utilizzata per selezionare l'area specificata in base al tipo definito dall'utente.
ActiveWindow.SelectedSheets.PrintOut
Il codice sopra viene utilizzato per stampare l'area selezionata.
Si prega di seguire sotto per il codice
Option Explicit Sub PrintReports() 'Variabili dichiarate Dim DefinedName As String Dim Cell1 As Range 'Disabilitazione degli aggiornamenti dello schermo Application.ScreenUpdating = False 'Esplora tutte le celle per ogni Cell1 In Range("A13", ActiveCell.End(xlDown)) Sheets ("Principale"). Attiva 'Selezione della cella Cell1.Select 'Ottenimento del valore del nome del foglio o dell'intervallo definito DefinedName = ActiveCell.Offset(0, 1).Value Select Case Cell1.Value Case 1 'Selezione del foglio definito Sheets(DefinedName ).Select Case 2 'Selezione dell'intervallo definito Application.Goto Reference:=DefinedName Caso 3 'Selezione della vista personalizzata definita ActiveWorkbook.CustomViews(DefinedName).Show End Select 'Stampa dei dati richiesti ActiveWindow.SelectedSheets.PrintOut Next Application.ScreenUpdating = True End Sub
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.
Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica