Copiar datos de una hoja a otra sin celdas en blanco

A ver si alguien puede ayudarme porque le he dado muchas vueltas y no se si sera posible realizar.

Tengo 12 hojas, donde en cada una introduzco datos mensuales en las celdas que van desde la "B10:K10". Todas las filas son iguales pero lo que varia en cada mes es la cantidad de datos introducidos, es decir, un mes puede empezar en "B10" y acabar en "B40", pero al mes siguiente puede ser que solo llegue a "B12".

¿Existe alguna forma que a la vez que los vaya introduciendo en la hoja correspondiente me rellene una hoja al final con el mismo formato pero que me los haga todos continuos? Es decir, la ultima hoja tendría el mismo formato que las 12 anteriores y quiero que aparezca los datos de las 12 hojas consecutivamente.

No se si me he explicado bien.

1 respuesta

Respuesta
1

Revisa la siguiente respuesta:

Tengo 18 hojas de excel y quiero unirlas en una sola hoja, todas tienen las mismas columnas pero diferentes filas, cómo hago?

Sigue los pasos ahí explicados, no olvides votar y valorar las respuestas.

Hola y gracias por tu rápida respuesta, pero no es el mismo caso, yo solo quiero extraer determinados datos, no fusionar todas las hojas en una ya que son tablas donde los voy rellenando.

Solo necesito copiar los datos que empiezo a ingresar en B10:K10, en cada celda un dato y son líneas independientes. El siguiente ira en B11:k11 y así sucesivamente.

Que pasa, que cada hoja la empiezo en B10 y ahí es donde tengo el problema, intente hacerlo con la fórmula SI pero se me extendía demasiado y era casi imposible.

No se si me exlpique bien

Gracias

No, no entiendo, podrías explicar lo que necesitas con una secuencia de imágenes.

¿Lo quieres con fórmulas o con macro?

Tengo 12 hojas como la siguiente imagen (una por cada mes)

Los datos se van introduciendo por filas como la que esta señalada y de ahí para abajo cada mes. Lo tengo preparado para impresión por lo que cada hoja contiene 15 filas para datos, en la imagen iría desde B10:K24.

Y esta seria la ultima hoja donde me gustaría que se fueran incluyendo correlativamente todos los datos introducidos en las hojas anteriores. Esta hoja resumen anual es exactamente igual que las mensuales, son la misma hoja, en cada hoja 15 líneas de datos desde B10:K24.

No se si ha quedado algo más claro

GRacias

Se me olvido comentar, me da igual fórmula o macro, en principio yo intente hacerlo con fórmula porque pensé que podría darle forma pero llegado a este punto me da igual de una manera o de otra. Quizás con fórmula vaya mejor o quizás con fórmula no puede hacerse.

Gracias

Sigue sin estar claro, tus imágenes no tienen datos.

Puedes poner datos:

Paso 1. imagen 1 qué datos quieres copiar

Paso 2. imagen 2 en dónde los quieres pegar

Pero en la imagen 2 debes poner lo datos de la imagen 1.

¿Si ejecutas la macro por segunda vez qué debe hacer?

No entiendo tampoco este comentario:

Solo necesito copiar los datos que empiezo a ingresar en B10:K10, en cada celda un dato y son líneas independientes. El siguiente ira en B11:k11 y así sucesivamente.

Probaste mi macro.

Mi macro hace justamente eso, copia desde la fila 2 hacia abajo. Solamente tienes que cambiar el 2 por un 10.

¿Pero si quiera probaste mi macro?

En la primera hoja iría introduciendo datos como se ven en la imagen (el relleno es para destacar los datos no irían rellenos)

De la misma forma en la siguiente hoja (2 correspondiente a febrero) se introducirían los datos en las mismas celdas, unas hojas tendrían más filas rellenas y otras hojas menos filas.

Y finalmente lo que pretendo es que se rellene la ultima hoja con los datos de las hojas anteriores (rojo corresponde a la primera hoja y verde a la segunda). Ahí es donde me encontré el problema la intentarlo con fórmula ya que no se sabe cuantas filas habrá en cada hoja.

La macro a la que te refieres, ¿hace esto? No la probé porque pensé que estaba orientada a copiar la hoja entera y como ves en las imágenes tengo planteada las hojas de la misma forma y solo deseo mover de hoja el contenido de las celdas que están rellenas y en las hojas sombreadas para que lo veas.

Los ecabezados (fecha, dato2, fecha entrada etc) están colocados en la hoja donde quiero volcarlo todo y no es necesario copiarlo, de ahí que pensara que la macro hacia algo diferente.

Si me dices que la macro puede funcionar la pruebo y te comento.

Muchas gracias

Efectivamente eso hace mi macro, solamente sigue las instrucciones:

Cambia en estas líneas de la macro, por tus datos:

    Set h1 = Sheets("Resumen")      'nombre de la hoja resumen
    j = 2                           'fila inicial de datos
    col = "A"                       'columna inicial de datos

En tu caso

j = 10

col = "B"

Pon la macro en un módulo:

Sub Resumen()
'Por.Dante Amor
    'Enviar los datos de todas las hojas a la hoja "Resumen"
    '
    Application.ScreenUpdating = False
    Set h1 = Sheets("Resumen")      'nombre de la hoja resumen
    j = 2                           'fila inicial de datos
    col = "A"                       'columna inicial de datos
    h1.Rows(j & ":" & Rows.Count).ClearContents
    For Each h2 In Sheets
        Select Case LCase(h2.Name)
            Case LCase("Resumen")
            Case Else
                u1 = h1.Range(col & Rows.Count).End(xlUp).Row + 1
                u2 = h2.Range(col & Rows.Count).End(xlUp).Row
                h2.Rows(j & ":" & u2).Copy
                h1.Range(col & u1).PasteSpecial xlValues
        End Select
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    h1.Select
    Range("A1").Select
    MsgBox "Hojas unidas en la hoja Resumen", vbInformation
End Sub

No me funicono, me da este error.

La hoja resumen anual es una copia de una de las otras hojas, por lo que los espacios son exactamente iguales.

Cabe decir, igual de ahí el error, que el libro tiene más hojas pero solo 12 son de las que quiero extraer los datos como mostré en las imágenes anteriores.

Gracias

¿Tienes celdas combinadas?

Agrega en esta línea las hojas que no quieras copiar:

Case LCase("Resumen", "otra hoja", "etc")

El problema puede ser por las hojas que no quieras copiar. Entonces modifica la línea con el ejemplo que te puse. Y vuelve a probar. 

La única celda combinada que tenia dentro de las filas que quiero copiar (las sombreadas en verde) era la D:E. Hice la prueba con la modificación que me envío.

Me da el error este. Después de esto elimine la columna D, quedando todas las celdas bien sin haber ninguna combinada y volví a probar y me sigue dando el mismo error.

Gracias

Perdona esa fue mía. Debe ser así:

Case LCase("RESUMEN ANUAL"), lcase("CONTROL"), lcase("ESTADISTICA"), lcase("Hoja3"), lcase("Hoja18")

me sigue dando error , las celdas son iguales no sé porque dice que los tamaños no coinciden cuando la página de resumen está copiada de la hoja donde se introducen los datos 

Debes tener alguna celda combinada

Intenta la macro en otro libro, crea 3 hojas iguales: hoja1, hoja2 y la tercera hoja la llamas "resumen anual", pon información en las hojas 1 y 2, a partir de la fila 10 y de la columna B en adelante.

No le pongas formatos a ninguna hoja, deja las hojas tal cual, así como nacen.

Entonces pones la macro y la pruebas. Verás que en la hoja "resumen anual" se ponen los datos de las hojas1 y 2. Después de eso revisa bien tus hojas.

Hola, así lo he hecho, con un libro nuevo y me da el mismo error.

No si es que estoy haciendo algo mal pero me vuelve a salir el mismo error 

Ah ya sé cuál es el problema.

Cambia esta línea

H1.Range(col & u1). PasteSpecial xlValues

Por esta:

H1.Range("A" & u1). PasteSpecial xlValues

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas