Incluir el nombre de la hoja.

Utilizo esta macro para extraer de un conjunto de libros la información que necesito y me la coloque en otra hoja. ¿Cómo haría para incluir el nombre de cada hoja?

Sub CopiarTodas()

    Application.ScreenUpdating = False

    Application.DisplayAlerts = False

    Set l1 = ThisWorkbook

    Set h1 = l1.Sheets(1)

    contador1 = 3 ’fila donde va el nombre

    contador2 = 4 ‘fila donde van las horas

    contador3 = 5 ‘Fila para el nombre de la hoja

    h1.UsedRange.Offset(1, 0).ClearContents

    With Application.FileDialog(msoFileDialogFilePicker)

        .Title = "Seleccion Archivos de excel. CTRL + Clic del ratón para seleccionar varios."

        .Filters.Clear

        .Filters.Add "Archivos de excel.", "*.xls*"

        .AllowMultiSelect = True

        .InitialFileName = ThisWorkbook.Path

        If .Show Then

            For Each arch In .SelectedItems

                Set l2 = Workbooks.Open(arch)

                For Each h2 In l2.Sheets

                    u1 = h1.Range("b" & Rows.Count).End(xlUp).Row + 2

H2. Range("f4"). Copy h1.Range("a" & contador1) 'nombre

H2. Range("f5"). Copy h1. Range("a" & contador2) 'horas contrato

H2. Range("a40:n42"). Copy 'resumen

H1.Range("b" & u1). PasteSpecial xlPasteAll

H1.Range("b" & u1). PasteSpecial xlPasteValues

                    contador1 = contador1 + 4

                    contador2 = contador2 + 4

                Next

                l2.Close

            Next

        End If

    End With

    Application.ScreenUpdating = True

    Application.DisplayAlerts = True

    MsgBox "Fin"

    Range("A2").Select

End Sub

Entiendo que sería algo así h2.AQUICODIGO. Copy h1. Range(“a” & contador3), pero no doy con la sintaxis correcta.

Añade tu respuesta

Haz clic para o