Como hacer que el buscarv me devuelva el 2° valor de mi lista

Voy a dejar esta pregunta (que responderé), pues he visto que muchas veces surge la necesidad de hacer que el buscarv devuelva un valor de la lista que NO es el primero, o incluso, que se desplace hacia la izquierda.

2 Respuestas

Respuesta
7

Ahora sí, lo prometido es deuda, dejo el código de la función (que deberían colocar en un módulo del archivo en cuestión).

Function buscarEnesimo(stCriterio As String, rLista As Range, Col As Integer, N As Integer)
'Funciona como el Buscarv solo que devuelve el eNesimo elemento
'que cumple la condicion y se
'desplaza Col columnas hacia la derecha (negativo para la
'izquierda y cero la columna actual)
Dim rCiclo As Range, i As Integer
i = 0
For Each rCiclo In rLista
    If rCiclo.Value = stCriterio Then
        i = i + 1
        If i = N Then
            buscarEnesimo = rCiclo.Offset(0, Col)
            Set rCiclo = Nothing
            Exit Function
        End If
    End If
Next rCiclo
Set rCiclo = Nothing
buscarEnesimo = ""
End Function
Respuesta
-2

Me podría decir cuando un deporte se considera olímpico

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas