¿Cómo insertar una fila con vba entre dos tablas y una palabra en una columna?

Les cuento que tengo una macro que genera dos tablas de acuerdo a las condiciones de dos columnas y las lleva a otra hoja a modo de informe de la siguiente manera

Sub Ejecutar()
'Encuentra el valor 1 en la celda U y los pasa a hoja PDF
    Dim w As String
    Application.ScreenUpdating = 0
    With Sheets("PDF")
        .[E2,A4:V8000].ClearContents
        [A5:U5].AutoFilter 21, "=1"
        Rows("5:5").EntireRow.Insert
        [a6].CurrentRegion.Copy
        .[a4].PasteSpecial xlValues
        [G1].Copy: .[E2].PasteSpecial xlValues
        w = .[E2].Value
        .[E2] = "FECHA:  " & w
        Rows("5:5").Delete xlUp
        Selection.AutoFilter
        '
        [A5:Y5].AutoFilter 24, "=2"
        Rows("5:5").EntireRow.Insert
        [a6].CurrentRegion.Copy
        u = .Range("A" & Rows.Count).End(xlUp).Row + 1
        .Range("A" & u).PasteSpecial xlValues
        Rows("5:5").Delete xlUp
        Selection.AutoFilter
        '
        Application.CutCopyMode = False
        .[F:U].EntireColumn.Delete
        .[A1:E4].Font.Bold = True
        .[E2,F4:V8000].ClearContents
    End With
    Sheets("PDF").Select
    Application.ScreenUpdating = 1
End Sub

Lo que quisiera es que entre las dos tablas generadas se agrege una fila entre ambas tablas y en la columna C de la fila generada aparezca el texto Base de datos actualizal.

2

2 Respuestas

3.610.000 pts. Si me amas, siempre voy a estar en tu corazón; si me...

Te anexo la macro actualizada

Sub Ejecutar()
'Encuentra el valor 1 en la celda U y los pasa a hoja PDF
    Dim w As String
    Application.ScreenUpdating = 0
    With Sheets("PDF")
        .[E2,A4:V8000].ClearContents
        [A5:U5].AutoFilter 21, "=1"
        Rows("5:5").EntireRow.Insert
        [a6].CurrentRegion.Copy
        .[a4].PasteSpecial xlValues
        [G1].Copy: .[E2].PasteSpecial xlValues
        w = .[E2].Value
        .[E2] = "FECHA:  " & w
        Rows("5:5").Delete xlUp
        Selection.AutoFilter
        '
        [A5:Y5].AutoFilter 24, "=2"
        Rows("5:5").EntireRow.Insert
        [a6].CurrentRegion.Copy
        '
        u = .Range("A" & Rows.Count).End(xlUp).Row + 2
        .Cells(u - 1, "C") = "Base de datos actualizada"
        '
        .Range("A" & u).PasteSpecial xlValues
        Rows("5:5").Delete xlUp
        Selection.AutoFilter
        '
        Application.CutCopyMode = False
        .[F:U].EntireColumn.Delete
        .[A1:E4].Font.Bold = True
        .[E2,F4:V8000].ClearContents
    End With
    Sheets("PDF").Select
    Application.ScreenUpdating = 1
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

170.225 pts. Conocimientos avanzados de excel y programación en VBA

Este tutorial quizás aporte algo más

https://youtu.be/TiT_b7A-Ds0

https://youtu.be/zogj9jQlxWA

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas