En la hoja ARTÍCULOS debo buscar en la columna MARCA, el contenido de una celda de la hoja ENVÍOS y copiar la fila entera

En la hoja ARTÍCULOS debo buscar en la columna E, el mismo contenido de una celda en la hoja ENVÍOS de la columna E, y copiar la fila de la hoja ARTÍCULOS en la misma fila de ENVÍOS, hasta que en la hoja ENVÍOS en la columna E encuentre una celda vacía.

Gracias por ayudarme a resolver lo que para mi es un problemón.

2 respuestas

Respuesta
1

H o l a:

Te anexo la macro

Sub BuscarCopiar()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Set h1 = Sheets("ENVIOS")
    Set h2 = Sheets("ARTICULOS")
    '
    For i = 2 To h1.Range("E" & Rows.Count).End(xlUp).Row
        Set b = h2.Columns("E").Find(h1.Cells(i, "E"), lookat:=xlWhole)
        If Not b Is Nothing Then
            h2.Rows(b.Row).Copy
            h1.Rows(i).PasteSpecial xlValues
        End If
    Next
    [E1].Select
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
    MsgBox "Búsqueda terminada"
End Sub

Tengo una hoja ENVÍOS y en la columna E escribo en cada celda el nombre de un articulo, lo que quiero es que cuando escriba el nombre de un articulo busque en la hoja ARTÍCULOS en la columna E el articulo, y de esa hoja ARTÍCULOS donde haya encontrado ese articulo copie todas las celdas de esa fila en la hoja ENVÍOS en la misma fila donde escribí el articulo, y así con cada celda que rellene de la columna E.

Espero haberme explicado más claramente, gracias anticipadas por tu ayuda.

Muchísimas gracias, eres un FENÓMENO, funciona como un reloj suizo.

Perdona que te moleste pero ya puestos quisiera copiar la fecha que tengo en I1 en la hoja ENVÍOS en la columna O antes del End If.

También quiero copiar la fecha de la misma celda I1 de la hoja ENVÍOS en la hoja ARTÍCULOS en la columna O de los artículos que se localizaron antes, no se si me he explicado bien, gracias nuevamente por tu ayuda.

Crea una nueva pregunta para cada petición.

Explica con detalle y con imágenes lo que necesitas.

te adjunto las 2 hojas "ENVIOS" y "ARTICULOS" para ver como aprovechar el mismo codigo vb.

muchas gracias.

H o l a:

Tienes que crear una nueva pregunta en el tema de microsoft excel, ahí me explicas con detalle y con imágenes y con ejemplos lo que deseas.

http://www.todoexpertos.com/preguntar?topicId=269 

Respuesta
1

No se si entendí bien tu pregunta pero con el siguiente código puedes buscar el dato y usar la opción 1 o 2 para cortar y pegar los datos. Espero te sirva

Sub encontrar2()
'Purpose : Buscar una palabra dentro de una cadena de texto
'Author : Leonardo Valencia
'Description: Por medio de la función FIND se valida si una palabra existe dentro de un rango de celdas
'-------------------------------------------------------------------------------------------------------------------------------------------

On Error GoTo controlError

Dim encontrar As Variant
'Rango de celdas que desea buscar
For Each celda In Sheets("Envios").Range(Range("E1"), Range("E10000").End(xlUp))
'Funcion que busca la celda en la hoja articulos
Set encontrar = Sheets("Articulos").Range("E1:E20").Find(what:=celda, lookat:=xlWhole)
'Valida encontro el contenido de la celda
If Not encontrar Is Nothing Then
'Corta el contenido de la celda encontrada y lo pega justo debajo de la que esta buscando Opcion 1
encontrar.EntireRow.Cut
celda.EntireRow.Insert shift = xlDown
'Si desea cortar todo el contenido hacia bajo hasta encontrar una vacia Opcion 2
Range(encontrar, encontrar.End(xlDown)).EntireRow.Cut
celda.EntireRow.Insert shift = xlDown
End If
Next
Exit Sub
controlError:
MsgBox Err.Description
End Sub

No olvides calificar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas