Como unificar libro en uno solo

Hola, hago entradas a los usuarios de mi negocio en libros de excel, uno por cada usuario, cada libro tiene como nombre el numero de identificación de cada usuario, deseo hacer un solo libro de todos ellos; Ademas poder buscar algún usuario con su numero de identificación. Por su gran ayuda muchas gracias.
{"lat":5.96575367106554,"lng":-75.5859375}

1 respuesta

Respuesta
1
Tal vez pueda ayudarte. Posiblemente pueda hacerse con una macro, cuya complejidad dependerá de lo que respondas al siguiente cuestionario:
1º ¿Cuántos libros Excel tienes para unificar?
2º ¿Tienes en la misma carpeta todos los libros Excel a unificar o en varias carpetas?
3º ¿En esa/s carpeta/s tienes además otros libros Excel que no deseas unificar?.
4º ¿Cada libro Excel a unificar tiene una sola Hoja?
5º ¿Qué urgencia tienes?
Hola amigo, muchas gracias.
Mira tengo 258 libros.
Todos en la misma carpeta.
No hay libros diferentes que no desee.
Solo 4 libros tienen 2 hojas.
Angel, estas son las entradas de motocicletas a mi taller y lo que deseo es poder recurrir a esa información cada ves que un usuario llegue con su motocicleta al taller.Así poder colocar nuevos datos a esa hoja y guardarla.
De nuevo muchas gracias
Se puede hacer. No es muy costoso (en tiempo, me refiero, no te cobro nada, es solo porque tengo tiempo y me gusta). Si te interesa, te podría hacer una macro para mañana a estas horas.
¿Y qué hacemos con esos 4 libros de 2 hojas?. Nos molestan, porque en el libro unificado no podrán tener el mismo nombre de hoja ¿no? (Creo que has dicho antes que querías que cada hoja tuviera como nombre el actual nombre de cada libro).
Dime a ver qué te parece.
Amigo, muchísimas gracias.
Descartemos esos libros, no tengo problema.
Te agradezco muchísimo tu colaboración.
De verdad que me interesaría mucho la macro que puedas realizar.
Te copio más abajo lo siguiente:
1º La función ACNImportaCarpeta(), que lo que hace es recorrer todos los libros de la carpeta que le pases como parámetro, tomando de cada uno su primera hoja e importándola al mismo libro desde el que ejecutas la función.
2º Para llamar a la función tienes más abajo un ejemplo de macro llamadora, para que la puedas asociar a un botón. En ese ejemplo, yo tomo el nombre de la carpeta de una celda, en concreto la C3, por si quiero cambiar el nombre de la carpeta, pero lo puedes hacer como tu quieras.
Se pueden mejorar bastantes cosas, pero yo creo que te vale así porque entiendo que la vas a usar poco, ya que una vez que las reunifiques en un solo libro no creo que la vuelvas a utilizar.
Espero que te sirva. Si tienes algún problema, dímelo.
Saludos
Angel
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function ACNImportaCarpeta(CarpetaBusqueda)
Dim LibroResumen, LibroActual As String
'Guardamos el nombre del Libro activo, que es el que agrupará el resto de libros...
LibroResumen = ActiveWorkbook.Name
'Variable para guardar el nombre del libro actual a importar...
'Primero buscamos a ver si hay libros excel en la carpeta...
With Application.FileSearch
    .NewSearch
    .LookIn = CarpetaBusqueda
    .SearchSubFolders = True
    .Filename = "*.xls"
    .MatchTextExactly = True
    .FileType = msoFileTypeAllFiles
    If .Execute() > 0 Then
        'Muestra el número de libros encontrados y pide confirmación para importarlos...
        Respuesta = MsgBox("Encontrados " + Str(.FoundFiles.Count) + " libros Excel en la carpeta " + CarpetaBusqueda + "." _
            + vbCrLf _
            + "¿Desea importarlos al actual Libro?", vbYesNo)
        If Respuesta = vbYes Then
            'Recorremos todos los libros encontrados...
            For i = 1 To .FoundFiles.Count
                'Abrimos Libro excel...
                Workbooks.Open Filename:=.FoundFiles(i)
                'Recuperamos nombre del Libro excel...
                LibroActual = ActiveWorkbook.Name
                'Copiamos al portapapeles la primera hoja...
                Sheets(1).Select
                Cells.Select
                Selection. Copy
                'Activamos el LibroResumen...
                Windows(LibroResumen). Activate
                'Insertamos la hoja copiando del portapapeles...
                Sheets. Add
                Cells.Select
                ActiveSheet.Paste
                Range("A1").Select
                'Renombramos la hoja con el nombre del LibroActual
                ActiveSheet.Name = Mid(LibroActual, 1, Len(LibroActual) - 4)
                'Movemos la hoja al final del libro...
                ActiveSheet.Move After:=Sheets(Sheets.Count)
                'Cerramos el Libro excel actual...
                Windows(LibroActual).Activate
                ActiveWorkbook.Close
            Next i
            Windows(LibroResumen).Activate
            Sheets(1).Select
            MsgBox ("PROCESO REALIZADO")
        End If
    Else
        MsgBox "No se han encontrado libros Excel en la carpeta " + CarpetaBusqueda
    End If
End With
End Function

 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub Macro()
    ACNImportaCarpeta (Range("C3").Value)
End Sub
Muchísimas gracias angel, intentare hacer lo que me indicas y te enviare un comentario, de nuevo muchísimas gracias por tu tiempo y dedicación.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas