Aggiungere interruzioni di pagina ai dati ordinati che utilizzano VBA in Microsoft Excel
In questo articolo creeremo una macro per inserire interruzioni di pagina, in base a una determinata condizione.
I dati grezzi sono dati relativi all’agente, che includono nome agente, nome cliente, numero di telefono e ID e-mail.
Vogliamo i dati di un particolare agente su pagine separate durante la stampa. Quindi, vogliamo inserire un’interruzione di pagina alla fine dei dati di ogni agente.
Spiegazione logica
Abbiamo creato la macro “InsertingPagebreak” per inserire un’interruzione di pagina. Confrontiamo i valori di 2 celle consecutive nella prima colonna per trovare l’ultima cella relativa a un particolare agente e inserire un’interruzione di pagina.
Spiegazione del codice
ActiveSheet.ResetAllPageBreaks Il codice precedente viene utilizzato per rimuovere eventuali interruzioni di pagina precedenti inserite nel foglio.
If Cells (LngRow, LngCol) .Value <> Cells (LngRow – 1, LngCol) .Value Allora Il codice sopra viene utilizzato per confrontare celle consecutive all’interno della prima colonna.
ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cells (LngRow, LngCol)
Il codice sopra viene utilizzato per inserire interruzioni di pagina prima delle celle specificate.
Segui sotto per il codice
Sub InsertingPagebreak() 'Declaring variables Dim LngCol As Long Dim LngRow, MaxRow As Long 'Clear existing page breaks ActiveSheet.ResetAllPageBreaks LngCol = 1 'Getting row number of last cell MaxRow = Range("A11").SpecialCells(xlCellTypeLastCell).Row 'Looping through all the rows starting from thirteenth row For LngRow = 13 To MaxRow 'Comparing values in cell of two consecutive rows for the specified column If Cells(LngRow, LngCol).Value <> Cells(LngRow - 1, LngCol).Value Then 'Inserting page break ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(LngRow, LngCol) End If Next LngRow End Sub
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.
Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]