Añadir saltos de página para datos ordenados utilizando VBA en Microsoft Excel
En este artículo, crearemos una macro para insertar saltos de página, según una determinada condición.
Los datos brutos consisten en datos del agente, que incluyen el nombre del agente, el nombre del cliente, el número de teléfono y la identificación de correo electrónico.
Queremos datos de un agente en particular en páginas separadas durante la impresión. Entonces, queremos insertar un salto de página al final de los datos de cada agente.
Explicación lógica
Hemos creado la macro «InsertingPagebreak» para insertar un salto de página. Hacemos una comparación de valores de 2 celdas consecutivas en la primera columna para encontrar la última celda relacionada con un agente en particular e insertar un salto de página.
Explicación del código
ActiveSheet.ResetAllPageBreaks El código anterior se utiliza para eliminar cualquier salto de página anterior insertado en la hoja.
If Cells (LngRow, LngCol) .Value <> Cells (LngRow – 1, LngCol) .Value Then El código anterior se usa para comparar celdas consecutivas dentro de la primera columna.
ActiveWindow.SelectedSheets.HPageBreaks.Add Before: = Cells (LngRow, LngCol)
El código anterior se utiliza para insertar saltos de página antes de las celdas especificadas.
Siga a continuación el código
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
Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]