Datos de una Hoja a otra con parámetros

Hola he estado intentando realizar esto y no he podido:

Tengo unos datos en una Hoja1 por ejemplo:

Nombre   Descripción
Jose         Nada
Dam         Nada
Dam 
Jose 
Luis           Nada
Luis
Luis           Nada


Y en otra hoja2 tengo estos datos
Mes              Nombre         Descripción
Agosto         Jose              Nada
Agosto          Dam             Nada
Agosto          Dam 
Julio             Jose 
Julio               Luis             Nada
Julio              Luis
Julio               Luis              Nada

Quisiera que los datos de la hoja1 se copien a la hoja hoja con la condición de que elija el mes,
por ejemplo si elijo agosto que todos mis datos se copien o se traspasen y reemplacen en las celdas donde dice Agosto.

Gracias por su invaluable ayuda.

1 Respuesta

Respuesta
1

Pero qué quieres reemplazar exactamente.

Es decir, siguiendo con tu ejemplo, seleccionas Agosto, ¿y luego qué? En la hoja 1 tienes varios datos, ¿cómo sé cuáles debo tomar para actualizar la hoja2?

Sería más fácil de entender si pones 2 momentos, el primer momento sería cómo tienes la hoja2 antes de la macro, el segundo momento sería cómo queda la hoja2 después de la macro. De esa forma entendería qué es lo que se tiene que buscar en la hoja1 y qué se debe poner en la hoja2.

Saudos

Hola,

En la hoja 1 como mencione tengo estos datos,los cuales quiero pasar a la otra hoja pero pasa necesito una condicion y la condicion para que pueda copiarse a la otra hoja seria por mes, para ello necesito un imputbox donde ingrese cualquier mes y lo compare con el mes de la otra hoja, una vez compare el mes, si coincide que copie los datos o los chante en la misma celda.

Nombre   Descripción
Jose         Nada
Dam         Nada
Dam 
Jose 
Luis           Nada
Luis
Luis           Nada


Y en otra hoja2 tengo estos datos
Mes              Nombre         Descripción
Agosto         Jose              Nada
Agosto          Dam             Nada
Agosto          Dam 
Julio             Jose               Nada
Julio               Dam             Nada

Julio               Dam             
Julio              Jose
Julio               Luis              Nada

Julio               Luis

Julio               Luis               Nada

Supongamos que ingreso julio en mi inputbox,los datos de la Hoja1 deberian pasarse al mes donde dice julio asi como esta mencionado arriba.

Saludos

Lo de la hoja1 me queda claro, por eso no pregunté.

Pero de la hoja2 te pedí que pusieras los datos antes de la macro y en otra imagen me pones los datos después de la macro, para saber qué es lo que voy a pasar.

¿Entonces hay que pasar todo lo que está en la hoja1 sólo que hay que poner en la columna A el mes que pusiste en el inputbox?

Claro todo lo que esta en la hoja1 hay que pasarlo a la hoja2, en la hoja2 ya tiene el mes:

Tengo esto y quiero pasarlo a la hoja2

Nombre Descripción
Jose         Nada
Dam         Nada
Dam 
Jose 
Luis           Nada
Luis
Luis           Nada

Y en otra hoja2 tengo estos datos
Mes              Nombre         Descripción
Agosto         Jose              Nada
Agosto          Dam             Nada
Agosto          Dam 
Julio             Jose 
Julio               Luis             Nada
Julio              Luis
Julio               Luis              Nada

Lo que quiero hacer es como seria un "ACTUALIZAR", pues por ejemplo en mi hoja1 tengo unos datos y quiero actualizar el mes de JULIO por ejemplo, para ello tendría que que ingresar el mes de JULIO en el inputbox para que los datos se vayan a ese mes específicamente y se peguen los datos allí.

Al final quedaria asi:

Mes              Nombre         Descripción
Agosto         Jose              Nada
Agosto          Dam             Nada
Agosto          Dam 
Julio             Jose               Nada
Julio               Dam             Nada

Julio               Dam             
Julio              Jose
Julio               Luis              Nada

Julio               Luis

Julio               Luis               Nada

Saludos

psdt:El fin de la macro es que los datos puedan ser actualizables, no solo podría ingresar JULIO sino AGOSTO u otros meses que estén allí en la hoja2

Perdona, pero estoy confundido con los datos que estás poniendo. No sé si estás actualizando o estás incrementando datos.

En la hoja1 tienes esto:

Jose         Nada

En la hoja2 tienes esto

Julio             Jose 

Después de ejecutar la macro en la hoja2 deberías tener esto:

Julio             Jose            Nada

Busco el nombre de Jose en la hoja 2 y le actualizo el valor.

No me queda claro que se debe hacer con los nombres que tienes duplicados.

En la hoja 1 tienes esto

Jose Nada

y

Jose

¿Cuándo actualicé la hoja2 a cuál josé le voy a poner qué valor?

Lo que sucede es que supongamos que tengo estos datos que yo quisiera que se actualicen(modifiquen o agreguen en caso haya más datos de los que yo había puesto), en la hoja2, como no voy a estar actualizando uno por uno y vieno mes por mes, solo quiero que la macro compare el mes que ingreses con el mes de la hoja2, entonces si encuentra el el mes en la hoja2 en la primera celda se peguen o chanten en los datos que ya están allí y si hay más datos que se agreguen.

Nuevamente:

Tengo esto que quiero que vayan a un determinado rango de meses

Nombre Descripción
Jose         Nada
Dam         Nada
Dam 
Jose 
Luis           Nada
Luis
Luis           Nada

Y en mi hoja2 tengo esto que no necesariamente empieza desde agosto sino desde enero y con muchos más datos:

Mes              Nombre         Descripción
Agosto         Jose              Nada
Agosto          Dam             Nada
Agosto          Dam 
Julio             Jose 
Julio               Luis             Nada
Julio              Luis
Julio               Luis              Nada

Ahora para simplificar eso de buscar el mes manualmente y pegar los datos, pues creo una macro que me busque el mes, supongamos JULIO(mes), lo encontró entonces pegar los datos allí o transponer los datos en esas columnas en el orden de como están NOMBRE y DESCRIPCIÓN, es como pegar a la mala porque no sabría como hacer para que verique cada dato.

Y en otra hoja2 tengo estos datos
Mes              Nombre         Descripción
Agosto         Jose              Nada
Agosto          Dam             Nada
Agosto          Dam 
Julio             Jose 
Julio               Luis             Nada
Julio              Luis
Julio               Luis              Nada

Entonces supongamos que estos datos al actualizar por mes antes "Jose" en descripción no tenia nada pero como pegue los datos de mi hoja1 AHORA APARECERÁ con el dato que tenga.

Mes              Nombre         Descripción
Agosto         Jose              Nada
Agosto          Dam             Nada
Agosto          Dam 
Julio             Jose               Nada
Julio               Dam             Nada

Julio               Dam             
Julio              Jose
Julio               Luis              Nada

Julio               Luis

Julio               Luis               Nada

Es por eso que vez datos agregados.

Saludos

Entonces, es como si borrara todos los datos de la hoja 2 que digan julio y luego copio todo lo de la hoja1 y le pongo en la columna A el mes de julio?

Claro, pero si es optimo borrar los datos que coincidan con el mes de julio para luego copiar los datos de la hoja1 a la hoja2 y agregándole el mes como explique anteriormente no habría problema.

Ahora, me queda una duda, ¿en la columna A de la hoja2 tienes la palabra "Julio" o tienes una fecha?

Es solo una palabra, no es por fechas

Te anexo la macro

Sub copiar()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    '
    mes = InputBox("Escribe el nombre del mes: ")
    '
    Set b = h2.Columns("A").Find(mes)
    '
    If Not b Is Nothing Then
        fila = b.Row
        For i = h2.Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
            If h2.Cells(i, "A") = mes Then
                h2.Rows(i).Delete
            End If
        Next
        '
        u = h1.Range("A" & Rows.Count).End(xlUp).Row
        h1.Rows("2:" & u).Copy
        h2.Range("A" & fila).Insert Shift:=xlDown
        h2.Range("A" & fila & ":A" & fila + u - 2).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        h2.Range("A" & fila & ":A" & fila + u - 2) = mes
    '
    Else
    '
        u = h1.Range("A" & Rows.Count).End(xlUp).Row
        u2 = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
        h1.Rows("2:" & u).Copy h2.Range("A" & u2)
        h2.Range("A" & u2 & ":A" & u2 + u - 2).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        h2.Range("A" & u2 & ":A" & u2 + u - 2) = mes
    '
    End If
    '
End Sub

Saludos.Dante Amor

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas