Bom dia,
Tenho uma planilha onde eu busco e importo dados do access. Eu coloquei algumas celulas do excel como criterios para trazer os dados filtrados.
A planilha funciona bem, sem erros mas preciso melhorar.
Na coluna "L" por exempo eu colocao o nome da cidade para que filtre por cidade. Na coluna M1 eu coloco a materia.
O problema é que as vezes eu preciso de filtrar mais de uma cidade e materia. Então eu coloco as cidades em outras celulas Tipo.
L1 = contagem
L2 = Belo Horizonte
L3 = Ilicinea
E para as materias eu faço o mesmo na coluna M. Para acessar esses dados eu uso o seguinte codigo SQL VBA:
todas as variaveis abaixo eu declaro como STRING
Materiaa = Range("L1").Value
Materia1 = Range("L2").Value
Materia2 = Range("L3").Value
Materia3 = Range("L4").Value
Materia4 = Range("L5").Value
Cidadee = Range("M1").Value
Cidadee1 = Range("M2").Value
SQL = "SELECT MaspAdmissao, CodCarreira, Materia, Municipio, UnidadeExercicio, RegionalExercicio, MovimentacaoCodNatureza FROM " _
& strTable & " WHERE (Materia= '" & Materiaa & "' OR Materia= '" & Materia1 & "' OR Materia= '" & Materia2 & "' )" & _
" AND (Municipio='" & Cidadee & "' OR Municipio='" & Cidadee1 & "') "
Desta forma funciona bem, mas se eu precisar inserir 10 cidades vou precisar criar 10 variáveis para 10 celuas e mais 10 para materias etc..
Eu queria colocar essas variáveis em um ARRAY para que ao invés de digitar uma variável para cada celula, essa ARRAY contivesse todos os dados das
celulas. Ficaria mais ou menos assim:
Materiaa = Array(Range("L1:L100")
Cidadee = Array(Range("M1:M100")
SQL = "SELECT MaspAdmissao, CodCarreira, Materia, Municipio, UnidadeExercicio, RegionalExercicio, MovimentacaoCodNatureza FROM " _
& strTable & " WHERE Materia= ' Materiaa" AND (Municipio= Cidadee "
E dessa forma a consulta traria para a minha planilha todas as materias que estivesses entre L1 e L100 e cidades que estão entre M1 e M100..
tem alguma forma de fazer isso? podem me ajudar?