Insertar Filas Con Condicionante

Buendia Expertos

Tengo una hoja de excel con indistinto numero de filas lo que necesito es automatizar de forma que cada fila se acomode para q al momento de imprimir se imprima cada fila en una hoja, ejemplo:

Nombre Edad Dirección

Folio 15

Jesús 30 Ing Beltran

Folio 16

Esteban 45 Santa maría

Rocío 35 Cadete de Infantería

Lo que necesito es q excel valide por ejemplo la palabra Folio q es una constante y agregue filas de forma que cada folio quede en una hoja de excel, lo que a la fecha realizo es F5 escoger celdas en blanco y agregar filas (todas la celdas delante del folio están vacías) pero con este procedimiento no me queda exacto y después de eso tengo q agregar o quitar filas para que quede exacto en una hoja.

1 respuesta

Respuesta
1

La siguiente macro no agrega filas, te pone un salto de página cada vez que encuentra la palabra "Folio" en la columna "A"

Sigue las Instrucciones para ejecutar la macro
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Para ejecutarla presiona F5

Sub poner_salto_pagina()
'por.DAM
ActiveSheet.ResetAllPageBreaks
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    If Left(Cells(i, "A"), 5) = "Folio" Then
        If una = 1 Then
            Cells(i, "A").Select
            ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
        End If
        una = 1
    End If
Next
End Sub

Prueba y me comentas

Saludos. Dam
Si es lo que necesitas.

Excelente, justo lo que necesitaba, solo una ultima cosilla, hay manera que en el salto de página la palabra por ejemplo quede en una celda en especifico, ¿por decir que si la macro encuentra la palabra "Folio" lo ponga en la siguiente hoja como lo hace con la macro proporcionada pero que se posicione en la celda a15 por decir algo?

No entendí lo último que pides, ¿puedes poner un ejemplo de cómo está y cómo lo quieres?

Saludos. DAM

Si claro, mira lo que tengo es el ejemplo q te puse, solo que las primeras 15 filas de cada hoja están ocupadas por un encabezado:

Fila 1: Nombre d la Empresa

Fila 2: La fecha y direccion

Fila 3 Logo de la Empresa

Etc hasta ocupar las 15 primeras filas de cada hoja por lo cual, cuando ingrese la macro lo q requiero es que el Folio 15 quede en la fila 16 de la hoja 1; que el Folio 16 quede en la fila 16 de la hoja dos si tuviera el folio 17 que se acomode en la fila 16 de la hoja 3 y asi sucesivamente, no se si esto es posible?? Espero haber logrado explicame, gracias

Nombre Edad Dirección
Folio 15
Jesús 30 Ing Beltran
Folio 16
Esteban 45 Santa maría
Rocío 35 Cadete de Infantería

Cambia la macro por esta

Sub poner_salto_pagina()
'por.DAM
On Error Resume Next
ActiveSheet.ResetAllPageBreaks
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
    If Left(Cells(i, "A"), 5) = "Folio" Then
        Rows(i & ":" & i + 14).Insert Shift:=xlDown
        ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(i, "A")
    End If
Next
End Sub

El primer folio te lo va a poner en la fila 16 si la palabra folio está en la fila1, si hay filas antes, el folio va a quedar 15 filas después de la fila con datos.

Saludos. Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas