Como hacer el resultado de un Find la celda activa?

Resulta que yo tengo la siguiente función

Set b = h.Columns("B").Find(usu, lookat:=xlWhole)

 Y lo que quiero es que en cuanto encuentre ese "usu" lo haga la celda activa, y guarde la ubicación en una variable. ¿Como puedo lograr esto?

1 respuesta

Respuesta
2

[Hola

Pues agrega esto:

b.Select

Variable =  b.value

No puedo decirte exactamente en donde ya que solo muestras una línea.

Saludos]

Abraham Valencia

PD: Lo que sí es obvio es que tiene que ser después de la línea que has enviado

Gracias, las otras líneas no las agregue ya que solo eran líneas donde declaraba variables y los rangos, pero acá te las coloco en caso de que creas que era relevante haberlas puesto. Te agradezco mucho tu ayuda.

    If lbxAPU.ListIndex = -1 Then
        MsgBox "Primero debes seleccionar un Usuario"
        Exit Sub
    End If
    codigo = Val(lbxDB.List(lbxDB.ListIndex, 0))
    Set h = Sheets("Lista")
    Set b = h.Columns("B").Find(usu, lookat:=xlWhole)
    If Not b Is Nothing Then
  'Acá es donde me faltaba el código que me acabas de dar
    Else
        MsgBox "El Usuario no existe"
    End If

Prueba así, y/o adapta a tus necesidades:

If Not b Is Nothing Then
        h.Select
        b.Select
        Variable = b.Value
    Else

Saludos]

Abraham Valencia

Y en el caso que yo quisiera guardar en la variable un dato que esta 2 columnas a la izquierda, solo debería adaptar el código así 

If Not b Is Nothing Then
        h.Select
        b.Offset(0, -2).Select
        Variable = b.Value
    Else

O también le debo dar la propiedad Offset a la variable cuando lee el valor?

Pues lo que más te convenga/convenza ¿por qué no pruebas ambas?

Saludos]

Abraham Valencia

PD: Yo en realidad recomiendo no usar "Select", pero lo deje según tu idea: https://abrahamexcel.blogspot.com/2017/12/el-uso-y-abuso-de-select-y-selection-en.html

Lo que dices en un blog es bastante cierto y me gustaría saber tu como habrías hecho este código sin usar el "Select", al fin y al cabo es bueno conocer diferentes formas de hacer lo mismo, así llevare un mejor aprendizaje 

Pues sin seleccionar, una línea así sería más que suficiente:

Variable = b.offset(0,-2).value

Saludos]

Abraham Valencia

¡Gracias! tratare de ser lo menos repetitivo con los métodos y propiedades ya que esto puede ayudar a que el código se más rápido tal y como lo mencionas en tu blog (muy buen por cierto), te lo agradezco mucho.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas