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.

ArrowRawData

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.

ArrowOutput

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]