Macro que me busque un valor y lo copie a otra hoja

Requiero de su sabiduría

Necesito crear una macro que evalué si una celda (HOJA 1, Celda U3) cumple una condición.

Si la condición se cumple (="Eisai613"), que copie el contenido de una segunda celda de la misma fila (HOJA 1, Celda B3) y lo pegue en una tercer celda ubicada en otra hoja del mismo archivo (HOJA 2, celda c12)

Si la condición no se cumple (<> “Eisai613”), que baje una fila y evalúe nuevamente la condición en la nueva celda (HOJA 1, Celda U4). Si la condición se cumple que repita el procedimiento de copiar y pegar; si no se cumple, que siga bajando y evaluando hasta que encuentre una celda vacía en la columna U.

Intenté hacer mi macro siguiendo un caso similar en el foro pero no me salió

ufila = Range("U" & Rows.Count).End(xlUp).Row
ufila
Hoja1").Range("C" & K) = Sheets("Productos Notificados").Range("B" & i)
Hoja1").Select
End Sub

2 respuestas

Respuesta
1

Con la siguiente macro, copia el primer valor en la hoja2 en la fila 12, el siguiente valor a copiar lo pega en la fila 13 y así sucesivamente, espero haber entendido bien.

Si falta algo más avísame.

Sub Macro1()
'Por.DAM
Set h1 = Sheets("Hoja1")
Set h2 = Sheets("Hoja2")
j = 12
For i = 3 To h1.Range("U" & Rows.Count).End(xlUp).Row
    If h1.Cells(i, "U") = "Eisai613" Then
        h1.Cells(i, "B").Copy h2.Cells(j, "C")
        j = j + 1
    End If
Next
End Sub

Saludos.Dante Amor
Si es lo que necesitas.

Dante:

Gracias por la pronta respuesta,

copie la macro pero al ejecutar no se completa nada, no sale error, ni nada, es como que no se ejecutara, y no entiendo el porque.

Hay alguna forma de enviare el archivo?

Esto es lo que deje como macro:

Sub Macro1()
'Por.DAM
Set h1 = Sheets("Productos Notificados")
Set h2 = Sheets("Hoja1")
j = 12
For i = 3 To h1.Range("U" & Rows.Count).End(xlUp).Row
    If h1.Cells(i, "U") = "Eisai613" Then
        h1.Cells(i, "B").Copy h2.Cells(j, "C")
        j = j + 1
    End If
Next
End Sub
Sub Macro1()
'Por.DAM
Set h1 = Sheets("Productos Notificados")
Set h2 = Sheets("Hoja1")
j = 12
For i = 3 To h1.Range("U" & Rows.Count).End(xlUp).Row
    If h1.Cells(i, "U") = "Eisai613" Then
        h1.Cells(i, "B").Copy h2.Cells(j, "C")
        j = j + 1
    End If
Next
End Sub

Gracias

En el asunto del correo escribe tu nombre de usuario y el título de esta pregunta.
Mi correo [email protected]
Saludos. Dante Amor

Te envíe el correo

Muchas gracias

En la pregunta pusiste Eisai613 junto y en tu hoja tienes Eisai 613 con un espacio entre Eisai y 613, corrige la macro, pon esta macro:

Sub Macro1()
'Por.DAM
Set h1 = Sheets("Productos Notificados")
Set h2 = Sheets("Hoja1")
j = 12
For i = 3 To h1.Range("U" & Rows.Count).End(xlUp).Row
    If h1.Cells(i, "U") = "Eisai 613" Then
        h1.Cells(i, "B").Copy h2.Cells(j, "C")
        j = j + 1
    End If
Next
End Sub

Saludos. Dante Amor
No olvides finalizar la pregunta.

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas