Sumar la misma celda de varios libros con distinto nº de hoja cada uno

Hola, esta macro es de luis mondelo de 2012

Sub proceso()
'por luismondelo
Set navegador = CreateObject("shell.application")
carpeta = navegador.browseforfolder(0, "SELECCIONE LA CARPETA DONDE ESTÁN LOS ARCHIVOS", 0, "equipo").items.Item.Path
ChDir carpeta & "\"
Set fso = CreateObject("scripting.filesystemobject")
Set ubicacion = fso.getfolder(carpeta)
Set archivos = ubicacion.Files
For Each fichero In archivos
Workbooks.Open fichero
suma = suma + Sheets(1).Range("c17").Value
ActiveWorkbook.Close False
Next
MsgBox "La suma de todas las celdas C17 es de: " & suma
End Sub

Suma la primera hoja de varios libros que están en una misma carpeta. ¿Y si los libros tuvieran un nº de hoja mayor que 1 otros libros solo una hoja se podría sumar? Y el dato resultante de dicha suma se podría incluir en un libro llamado SUMA TOTAL en la hoja 1 en la celda C5 por ejemplo.

Saludos

1 Respuesta

Respuesta
1

Te anexo la macro para que lea todos los libros de la carpeta que selecciones.

También va a leer todas las hojas que tenga cada libro.

Sumará el valor que tenga cada hoja en la celda C17

El resultado te lo pondrá en la celda C5.

Pon la macro en tu libro "SUMA TOTAL"

Ejecuta la macro en el mismo libro "SUMA TOTAL"

Sub sumar()
'Por.Dante Amor
    '
    ruta = ThisWorkbook.Path
    Set ruta = Application.FileDialog(msoFileDialogFolderPicker)
    With ruta
        .Title = "Selecciona una carpeta"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        If .Show <> -1 Then Exit Sub
        cp = .SelectedItems(1)
    End With
    '
    Application.ScreenUpdating = False
    ChDir cp
    arch = Dir("*.xls")
    Do While arch <> ""
        Set l2 = Workbooks.Open(arch)
        For Each h In l2.Sheets
            wtot = wtot + h.[C17]
        Next
        l2.Close
        arch = Dir
    Loop
    '
    Sheets("Hoja1").[C5] = wtot
End Sub

Hola dante ante todo gracias por responder, no consigo que funcione esta macro no se que estoy haciendo mal.la puedes echar un vistazo cuando tengas tiempo.

Un saludo y gracias

Pero no me dices qué error te envía.

Realiza lo siguiente tu archivo "SUMA TOTAL" con la macro que esté en una carpeta diferente a donde tienes los otros archivos.

Ejecuta nuevamente, si tienes un error apunta el mensaje de error, presiona el botón depurar y dime qué línea de la macro se pone de amarillo

muchas  gracias dante lo estaba haciendo mal, todo en el mismo directorio.

arreglado y funcionando

saludos

Qué bueno que ya funciona.

No olvides valorar la respuesta

Hola, dante y sise hace alguna modificación en una hoja de cualquier libro. Hay manera de que se actualice el dato final de forma automática.

Y cómo ocurre eso, es decir, ¿los archivos están en red? Explícame con detalles cómo es que se puede modificar la hoja, es decir, ¿tú abres el archivo y lo modificas y quieres que se actualice el libro "SUMA TOTAL"?

Hola los archivos pueden estar en red o en local.

Eso es que al modificar un archivo se se actualice el archivo SUMATOTAL. Eso es si se puede claro.

Saludos

Me queda claro que puedes modificar el archivo y quieres que se actualice la suma.

Pero no entiendo en qué momento haces la modificación.

Es decir, llegas a tu computadora, abres el archivo "SUMA TOTAL", ¿ejecutas la macro y luego quién modifica el archivo? Tu misma modificas el archivo, es decir, me puedes narrar qué es lo que haces.

Tengo que identificar cómo ocurren los eventos cuando modificas uno de los archivos, para resolver la actualización.

Describe paso a paso lo que haces y en qué momento haces la modificación, describe desde que empiezas a abrir los libros.

Hola, esto seriaai:

-Tenemos el archivo sumatotal con la suma de todos los libros.

-Después nos modifican algún dato de un libro. Y tendríamos que ejecutar otra vez la macro. Paso que si se puede quieren evitar por si se nos olvida ejecutar dicha macro.

Saludos

Hola dante estoy en el trabajo y me comentan si se puede hacer esto:

-Si ya tenemos el libro SUMA TOTAL.XLSX podemos incluir el dato que proporciona esta macro en la misma casilla c5. creo que tendríamos que seleccionar el archivo SUMA TOTAL.XLSX que en principio estaría en la misma carpeta que los libros a sumar con tu macro.

Saludos

Ahora entiendo menos.

Cuando dices "nos modifican", ¿a qué te refieres?

Todavía no me has dicho si lo archivos están en red o están en tu pc

Eso de "nos modifican" no creo que lo hagan con la mente, tienen que prender una computadora, abrir el archivo, modificar el dato, todos esos pasos quiero que me expliques.

Hola, pues noslomodifica el departamento de ingeniería vienen con un dato en papel y te dicen en la hoja del libro tal página cual pone 20 ahora es 50. Que esto es arcaico lo se, que al estar en red tienen la opción de modificarlo directamente en el archivo lo se

Pero no hay manera de cambiar la forma de trabajar.

Espero que este un poco más claro.

y me toca abrir el archivo y modificar el dato  que trae el ingeniero

Ah, entonces tú abres el archivo y tú lo modificas.

Ya entendí, podrías crear una nueva pregunta para actualizar el libro SUMA TOTAL. Si lo deseas en el título puedes poner que es para Dante Amor.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas