Macro Excel Buscar Hoja y copiar datos

Necesito una Macro Excel que me permita buscar una Hoja con un nombre determinado la cual yo le diga que busque cierta hoja con "tal " nombre dentro de un Libro y copiar los datos de la columna A2 hasta donde encuentre datos dentro de la misma calumna

En este caso sería necesario habilitar un userform en donde me pregunte que hoja deseo buscar indicando un Nombre de Hoja, y pulsando un botón, la encuentre se posicione y seleccione el Rango A2 hast donde tenga datos y me lo copie .

Respuesta
1

[Hola 

Una vez copiado los datos adonde se va copiar

Disculpa adonde se va pegar

De ahí hago que entre a una carpeta busque los datos copiados para actulializar la info.

¿Ya no me quedó claro puedes poner un ejemplo?

Te paso la macro

Crea tu formulario y un textbox1

Cambia la ruta de tu archivo a actualizar

Cambias el nombre del nombre del archivo a actualizar

Private Sub CommandButton1_Click()
'
'[Por Adriel Ortiz
'
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    dato = TextBox1.Value
    If dato = "" Then
        MsgBox "Ingrese una hoja a buscar"
        Exit Sub
    End If
    '
    existe = False
    For Each h In Sheets
        If UCase(h.Name) = UCase(dato) Then
            existe = True
            Exit For
        End If
    Next
    '
        If existe Then
            Sheets(dato).Select
            Sheets(dato).Range("A2").Select
            '
        Set l1 = ThisWorkbook
        Set h1 = l1.Sheets(dato)
        '
        ruta = "E:\macro\" ' cambia la ruta de tu archivo destino
        '
        Set l2 = Workbooks.Open(ruta & "destino.xlsx") ' cambia el nombre del archivo, yo puse destino
        Set h2 = l2.Sheets(1)
        '
        j = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
            For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
            h1.Cells(i, "A").Copy h2.Range("A" & j)
            j = j + 1
            Next i
        '
        l2.Save
        l2.Close
        Application.ScreenUpdating = True
        MsgBox "Fin"
        Else
         MsgBox "La hoja no existe", vbInformation
         Exit Sub
        End If
End Sub

Ariel desde ya muchas gracias por tu ayuda!.

Te comento de nuevo yo tengo una macro donde me crea una tabla con una cierta cantidad de columnas a partir de ciertos números de parte de varios dígitos. Todo esto en una hoja nueva y con nombre lo que pasa es que como eso datos varían voy creando hojas nuevas con distintos nombres y nuevos datos

Es por eso que necesito otra macro en donde me busque la hoja que le indique, si la encuentra que se posicione en esa hoja más preciso en la columna A2 busque hasta donde ahiga datos seleccione y copie para que después entre un programa que tengo y baje reportes pero esta ultima parte ya la tengo lo que falta es lo anterior. Lo que no me sale es hacer que busque la hoja que le indico active la hoja se coloque sobre la columna A2 seleccione y copie

Te paso la macro.

-Busca y selecciona la hoja encontrada

- Se posiciona en la celda A2 y copia los datos hasta el final de la columna

Private Sub CommandButton1_Click()
'
'[Por Adriel Ortiz
'
    Application.ScreenUpdating = False
    '
    dato = TextBox1.Value
    If dato = "" Then
        MsgBox "Ingrese una hoja a buscar"
        Exit Sub
    End If
    '
    existe = False
    For Each h In Sheets
        If UCase(h.Name) = UCase(dato) Then
            existe = True
            Exit For
        End If
    Next
    '
        If existe Then
            Sheets(dato).Select
            Sheets(dato).Range("A2").Select ' se posiciona en A2 de la hoja encontrada
            u = Range("A" & Rows.Count).End(xlUp).Row
            Range("A2:A" & u).Copy
            '
         Else
         MsgBox "La hoja no existe", vbInformation
         Exit Sub
        End If
        '
        Application.ScreenUpdating = True
End Sub

Muchas gracias nuevamente pero me da error '424 en tiempo de ejecución se requiere odjeto me dicey se coloca en

Dato=textbox1.value

Al textbox puse de nombre textBox1

Que coincida con el tuyo

Así

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas