Obtener el numero de la fila de un valor buscado

Que espero que con sus conocimientos pueda ser solventada.
Necesito saber el valor de la linea (en excel) donde esta ubicado un valor encontrado con la función VLookUp, para así poder modificarlo utilizando un form.
Espero entiendas la duda, si necesitas más explicación sin problema extiendo la explicación.

3 respuestas

Respuesta
1
¿Te servirá esto?
Suponiendo que estuviéramos en A1
Con Activecell.Address y ActiveCell.AddressLocal muestra $A$1
ActiveCell. Column mostraría 1, al igual que ActiveCell. Row
Hola!
Gracias por tu respuesta.
Es más o menos eso lo que necesito, pero ubicando la linea exacta donde esta el valor encontrado por la función VLookUp.
Es decir, si uso la función VLookUp para un numero, el cual se encuentra en la fila 17 de la hoja de excel, necesito saber como hacer para obtener que esa fila de este caso es 17 para poder modificarla.
El valor de la fila sera distinta, cada vez que se ejecute la función VLookUp, dependiendo del caso.
Espero que hayas entendido lo que explico y que puedas ayudarme.
Muchísimas gracias.
Desconozco si excel trae una función así como vlookup para obtener el numero de fila, donde haya encontrado el valor buscado. Tendrías que buscar si existe.
Ahora, una pregunta: si vas a usar formularios y vas a usar macros, porque no usas alguna macro o la misma función vlookup dentro de la macro y definiendo:
if valorbuscado = true then
variable=Activecell.Row
End If
¿Si me explique?
Hola de nuevo.
Buscando en la red conseguí la solución.
Te la dejo para tu conocimiento:
Dim linea As Integer
Dim numche As Integer
Dim busco As Object
numche = conciliacion.txt1.Value
Set busco = Sheets("Banesco").Range("a6:a1000").Find(numche)
linea = busco.Row
Con esto obtienes la fila directamente de donde esta ubicado el valor que buscas. A mi me funciono.
Me parece que también con la ultima solución que me das se puede conseguir.
Muchas gracias por todo!
Respuesta
1

Y aquí una función para buscar una fila ingresando el rango y valor buscado:

Function FilaDelValor(Rng As Range, ValorBuscado As String) As Single 'devuelve la fila en la que se encuentra un valor

Dim fila As Single
Dim busco As Object
Set busco = Rng.Find(ValorBuscado)
FilaDelValor = busco.Row

End Function

luego la funcion se usa  usa asi 

Dim rn As Range
Dim st As String
Set rn = Workbooks("TABLAS.xlsx").Worksheets("ENLACE").Range("C1:C5200")
st = "GUA0089"
MsgBox FilaDelValor(rn, st)Dim rn As Range  'esta es la funcion con los argumentos rango y valor buscado
Obviamente hay que cambiar libro, hoja y rango.

Respuesta
1

Esta es otra opción que en mi opinión es más directa:

fila = WorksheetFunction.Match(Valor Buscado, Rango desde fila 1, FALSE)

fila = Application.Match(Valor Buscado, Rango desde fila 1, FALSE)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas