¿Cómo puedo recopilar la información de varias hojas (celdas) en una hoja?

Lo que no consigo hacer es: tengo un archivo de Excel con muchas hojas y tengo una hoja base que recoje información de cada.

En la hoja base cada vez que voy a añadir una fila tengo que ir a la hoja de la información para recopilar la informacíón de cada celda.

¿Hay alguna manera con VBA o macros para poder simplificar todo este trabajo?

Respuesta
1

[Ho la y bienvenida a todoexpertos.

Debes especificar qué datos quieres pasar y en dónde los quieres poner.

Utiliza imágenes para ejemplificar.

Para subir una foto o una imagen, tienes que guardar la imagen con formato jpg

Ya que tienes tu imagen en un archivo, presiona el icono de añadir imagen:

En la siguiente ventana que te aparece:

Presiona el botón Subir imagen. Selecciona el archivo con tu imagen y presiona Abrir.

...

Lo que debe tener cada imange:

Este es un ejemplo: en cada hoja de excel tengo una factura entonces lo que necesito que en la hoja total recoja algunos datos de la factura pero mi problema es voy añadiendo facturas( fechas nuevas o facturas nuevas) y entronces tengo ir a cada factura y copiar los datos para la plantilla base.

este es un ejemplo de la plantilla base

en este excel he añadido una factura extra entonces como puedo automatizarlo de alguna que cuando voy a añadir una factura nueva pueda salir automáticamente en la plantilla base.

muchas gracias!!

¿Las posiciones de los datos en tus ejemplos son reales?

Es decir, el número de factura está en la celda C4 en todas las hojas, lo mismo para los demás datos.

SI esta en igual en todas las hojas, en la misma posición.

Ejecuta la siguiente macro. Los datos quedarán en la hoja "TOTAL", iniciando en la celda A2 en adelante.

Sub RecopilaFacturas()
  Dim shT As Worksheet, sh As Worksheet
  Dim i As Long
  '
  Set shT = Sheets("Total") 'hoja en donde se van a recopilar la facturas
  shT.Rows("2:" & Rows.Count).ClearContents
  '
  i = 2
  For Each sh In Sheets
    If sh.Name <> shT.Name Then
      shT.Range("A" & i).Value = sh.Range("C6").Value   'fecha
      shT.Range("B" & i).Value = sh.Range("C4").Value   'factura
      shT.Range("C" & i).Value = sh.Range("C8").Value   'reserva
      shT.Range("D" & i).Value = sh.Range("C9").Value   'subtotal
      shT.Range("E" & i).Value = sh.Range("C10").Value  'total
      i = i + 1
    End If
  Next
  MsgBox "Fin", vbInformation, "RECOPILAR"
End Sub

Muchas gracias,  acabo de ejecutar la macro y si que funciona, pero en el que caso de añadir alguna nueva factura por el medio de estas fechas, hay alguna posibilidad de crear una macro también?  es decir entre la fecha 1-1 y la 2-1extra voy a crear una factura 2-1evnt en la hoja base total puede que aparezca esta nueva factura ?

Sí, cada que ejecutes la macro, va a recopilar todas las facturas de todas las hojas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas