Listar a
localização de um elemento numa zona de celulas - JJoão (08/2002)
Função que retorna a localização de um elemento numa zona de celulas, o
objectivo é localizar se um valor ou texto existe e onde, esta função deve ser colocada num modulo em um livro ou suplemento.
Function Existe_em(st As Variant, Zona As Range) As String
Dim Celula As Range
Dim msg As String, s As String
Dim i As Integer, qtd As Integer
'Para que seja recalculado sempre que ocorrer um calculo
'relacionado com qualquer celula na folha
Application.Volatile
'Valor a retornar por predefinição
Existe_em = "N/A"
'contar quantas vezes existe na lista
qtd = Application.WorksheetFunction.CountIf(Zona, st)
'se não existir sai da função
If qtd = 0 Then Exit Function
i = 0
'se existe vamos ver em que linhas
For Each Celula In Zona
If Celula = st Then
i = i + 1
'separador de endereços para uma melhor leitura
If i = qtd Then
s = ""
ElseIf i = (qtd - 1) Then
s = " e "
Else
s = ", "
End If
'memorização dos endereços
msg = msg & Celula.Address & s
End If
Next Celula
'Retorna à celula o resultado
Existe_em = "'" & st & "' existe em " & msg
End Function
|