Macro que me automaticé un buscarv

Experto solicito de su valioso conocimiento con una macro que deseo para optimizar un proceso, debo utilizar el buscar v día a día, tengo un código conseguido en la red pero me busca una Columna, no se como hacer para que me busque varias columnas, y en un rango determinado.

Espero me puedan ayudar.

El código es

sub busquda ()

Dim cont as long

Dim ultlinea as long 

dim estado as long 

dim ot variant

dim rango as long 

ultlinea=sheets(resultado).range(“A”&rows.count).edn(xlup).row

set rango =sheets(“busqueda”.range(“a”:F532”)

for cont = 1 yo ultlinea 

ot = sheet(“resultado”).cells(cont,1)

estado= application.VLookup(ot,rango,6,false)

if iserror(estado)then

estado =0

enf if

 sheets(“resultado”).cells(cont,6)= estado 

nex cont

msgbox “busqueda culminada”,vbinformstion,”buscar”

enf sub 

Me funciona bien para la consulta en este caso me trae el estado de una solicitud con el criterio de la ot, pero quiero traer datos adicionales, cómo puedo modificar el código, ahora en la matriz día a día ingresan datos Quiero que el buscar v solo me busque la información de un rango determinado por ejemplo ingreso tres colinas adicionales que sólo le busque el daronde esas tres columnas no de la base se completa

1 respuesta

Respuesta
1

Deberías poner un ejemplo por que la verdad no te entiendo, la pregunta es muy vaga.
Con dos imágenes de como están tus datos y que resultado quieres es suficiente

Buen día Daniel, gracias por responder, podrías suministrarme un correo para enviarte las imágenes o archivo es que no he podido adjuntar imagines desde la aplicación. 

Gracias 

Buen día, no me deja subir imágenes por lo tanto dejaré un ejemplo espero me puedan ayudar.

en Excel tengo dos libros, uno llamado base de todos, en el segundo se llama matriz de búsqueda y tengo la siguiente información,

base de datos tengo los datos

Fecha    kilómetro Serie dimensión marca   Ree

xxxx.       Xxxx.       Xxxx.   

Hoja dos matriz de búsqueda 

Serie  dimensión marca 

xxx.      Xxx.            Xxxx

segundo matriz

Serie ree

xx.     Xxx

Esta información la ingreso a diario y quiero quebla macro, tome la serie la busque en la hoja matriz de búsqueda y me traiga dimensión y la marca, en en una segunda matriz me traiga realice la búsqueda y me traiga la culmina ree

Perdona, he estado ocupado si gustas mándame un archivo de ejemplo y como es que lo necesitas
[email protected]

Muchas gracias por tu tiempo ya te envié el correo.

gracias 

Según yo entendí en la hoja Matriz pones lo siguiente:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
       If Target.Count > 1 Then Exit Sub
        Set h = Sheets("Datos")
        Set b = h.Columns("D").Find(Target.Value, LookAt:=xlWhole)
        If Not b Is Nothing Then
            Cells(Target.Row, "B").Value = h.Cells(b.Row, "E")
            Cells(Target.Row, "C").Value = h.Cells(b.Row, "F")
            Cells(Target.Row, "D").NumberFormat = "dd-mm-yy"
            Cells(Target.Row, "D").Value = h.Cells(b.Row, "A")
        End If
    End If
    If Not Application.Intersect(Target, Range("J:J")) Is Nothing Then
       If Target.Count > 1 Then Exit Sub
        Set h = Sheets("Datos")
        Set b = h.Columns("D").Find(Target.Value, LookAt:=xlWhole)
        If Not b Is Nothing Then
            Cells(Target.Row, "K").Value = h.Cells(b.Row, "G")
            Cells(Target.Row, "L").NumberFormat = "dd-mm-yy"
            Cells(Target.Row, "L").Value = h.Cells(b.Row, "A")
        End If
    End If
End Sub

Te envié el correo con la macro espero te sirva.
Vi que tienes registros sin id en esos caso la macro no hará nada si no metes uno pero puedes extender la macro para cada caso que te convenga, dale una estudiada.
Pd ya no toques los registros anteriores pues al modificar la celda volverá a buscar el valor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas