Considere o seguinte U ser D efinado F unção (UDF) :
Public Function WhereIs(rIn As Range, rList As Range) As String
Dim s1 As String, r As Range
Dim s2 As String
WhereIs = ""
s1 = rIn.Text
For Each r In rList
s2 = r.Text
If InStr(1, s2, s1) > 0 Then
If WhereIs = "" Then
WhereIs = r.Address(0, 0)
Else
WhereIs = WhereIs & "," & r.Address(0, 0)
End If
End If
Next r
If WhereIs = "" Then WhereIs = "no match"
End Function
em que o primeiro argumento é o valor procurado e o segundo argumento é a lista.
FunçõesDefinidaspeloUsuário(UDFs)sãomuitofáceisdeinstalareusar:
- ALT-F11exibeajaneladoVBE
- ALT-IALT-Mabreumnovomódulo
- coleascoisasefecheajaneladoVBE
Sevocêsalvarapastadetrabalho,aUDFserásalvacomela.SevocêestiverusandoumaversãodoExcelposteriora2003,deverásalvaroarquivocomo.xlsmemvezde.xlsx
PararemoveroUDF:
- abrirajaneladoVBEcomoacima
- limpeocódigo
- fecheajaneladoVBE
ParausaroUDFdoExcel:
=WhereIs(B1,A1:A4)
Parasabermaissobremacrosemgeral,consulte:
e
e para detalhes sobre UDFs, consulte:
As macros devem estar ativadas para que isso funcione!