Segue função que fiz para auxiliar a criação de consultas no Access com critérios do tipo "[Variável] Ou [Variável] Ou [Variável] Ou ...". Antes, quando eu tinha um conjunto de variáveis a serem filtradas em uma consulta, era necessário executar um procedimento manual para preenchimento dos "Ou"s entre as variáveis. Usando a fórmula, o trabalho fica menor e muito mais rápido. Segue o código:
Function Consulta(ByVal Space As Range)
'
'
' Função para gerar uma chave com conteúdos das células separados por " Ou ",
' para usá-las em consultas no Access.
Dim rng As Range, str As String
str = ""
On Error Resume Next
For Each rng In Space.Areas
For Each cell In rng
str = str & cell.Value & " Ou "
Next
Next
Consulta = Left(str, Len(str) - 4)
End Function
Durante o uso da função, cabe uma observação: Para seleções múltiplas (mais de uma área - segurando Ctrl durante a seleção), usar um parêntesis adicional, indicando que todas as áreas devem ser associadas
à uma única variável do tipo "Range", acessada através de rng.Areas(n), onde n é o índice da área. Por exemplo: =Consulta(Área) ou =Consulta((Múltiplas_Áreas)). Seguem imagens ilustrativas dos dois casos, com uma única área e múltiplas áreas, respectivamente:
Bom, é isso. Espero que tenham gostado.
Para dúvidas e/ou sugestões, por favor, escrevam!
Até a próxima!