Cómo Buscar Valor de una Celda en una Columna e ir al lugar donde esta ese valor con un botón?.

Tengo una BD con 2000 datos de Items, quiero tener la posibilidad de ingresar en la celda D2 un valor que sea buscado en A:C con un Botón y que si lo encuentra se enfoque el valor en la columna A para poder hacer la edición de los datos en B y C. He buscado pero solo me sugieren BuscarV y no me sirve ya que no enfoca la fila donde esta el valor.

2 Respuestas

Respuesta
2

Pon la siguiente macro en un módulo

Sub Buscar_Valor()
    Set valor = Range("D2")
    If valor.Value = "" Then
        MsgBox "Introducir un dato en la celda"
        valor.Select
        Exit Sub
    End If
    Set b = Columns("A").Find(valor.Value, lookat:=xlWhole)
    If Not b Is Nothing Then
        b.Select
    Else
        MsgBox "El valor no existe"
    End If
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: Buscar_Valor
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

.

.

¡Gracias! Me sirvió 100% justo lo que buscaba! Eres el mejor.


Qué pasa si el valor que ingresó en D2 va a buscar el valor en las columnas A pero los datos en las columnas no son íntegros, si no que equivalen a la fórmula "=" lo que hace que traiga el valor de una tabla oculta. No se si me haga entender, al hacer esta búsqueda la macro necesita datos y no fórmulas no se como podria realizar la consulta. Perdón si insisto.

Agregamos este parámetro LookIn:=xlValues a la búsqueda:

Sub Buscar_Valor()
    Set valor = Range("D2")
    If valor.Value = "" Then
        MsgBox "Introducir un dato en la celda"
        valor.Select
        Exit Sub
    End If
    Set b = Columns("A").Find(valor.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not b Is Nothing Then
        b.Select
    Else
        MsgBox "El valor no existe"
    End If
End Sub

sal u dos

Respuesta
2

Prueba esta macro, busca el valor de la celda d2 en las columnas A, B, C, una vez que encuentra el valor se posiciona en la columna A de la fila donde se ubica ese valor.

Sub buscar()
Set datos = Range("a1").CurrentRegion
With datos
    f = .Rows.Count
    Set datos = .Resize(f, 3)
    valor = Range("d2")
    Set busca = .Find(valor)
    If busca Is Nothing Then MsgBox ("Dato no encontrado"), vbInformation, "AVISO"
    fila = Range(busca.Address).Row
    Range("a" & fila).Select
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas