om dia amigos,
Estou com uma dúvida a respeito da filtragem entre combobox.
Tenho uma planilha com várias colunas, porém três fundamentais que usarei para servirem de filtros de busca das outras informações. Coluna ANO, Coluna TIPO e coluna FISCALIZAÇÃO. O que quero é poder filtrá-las entre si, por exemplo, escolho um ano na combobox ANO e ela filtra as outras duas; escolho um tipo na combobox TIPO e ela filtra as outras duas; ou até mesmo escolho ano e tipo e filtra a fiscalização. O que eu quero é deixa-las independentes entre si, podendo filtrar com uma, ou com duas simultaneamente. O código já está trazendo os dados ANO,TIPO E FISCALIZAÇÃO nas respectivas combobox, consigo filtrar de uma pra outra também. Porém por exemplo, quando filtro o ano e me da só as opçoes de tipo desse ano e escolho alguma dá erro. Acho que por que no momento que escolho o valor filtrado ele filtra novamente a outra coluna e fica nesse loop. Abaixo segue o código q estou usando para o filtro em uma combobox por exemplo:
--------------------------------------------------------------------------------------------------------------------------
[code=VB]Private Sub box_ano_Change()
Sheets("filtro").Select
Range("A2:A" & Range("A1").End(xlDown).Row).Select
Selection.Clear
Sheets("Plan1").Activate
ActiveSheet.Range("$A$2:$AF" & Range("A2").End(xlDown).Row).AutoFilter Field:=1, Criteria1:=box_ano
Range("H2:H" & Range("H2").End(xlDown).Row).Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("filtro").Activate
Range("A2").Select
ActiveSheet.Paste
'Tirando duplicatas e colocando em ordem alfabética
Columns("A:A").Select
Application.CutCopyMode = False
ActiveSheet.Range("$A$1:$A$500").RemoveDuplicates Columns:=1, Header:=xlYes
ActiveWorkbook.Worksheets("filtro").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("filtro").Sort.SortFields.Add Key:=Range("A2:A500") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("filtro").Sort
.SetRange Range("A1:A500")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
box_tipo.RowSource = "filtro!A2:A" & Range("A1").End(xlDown).Row
Sheets("plan1").Activate
End Sub
[/code]
----------------------------------------------------------------------------------------------------------------------
Quando faço o mesmo código para filtrar ano pelo tipo (ou seja, o oposto do de cima)
Ele me volta um erro na terceira linha: Selection.Clear
Alguém poderia me ajudar?
Desde já agradeço!!
Abraço,
José Beça
Josebeca
Novo Membro
Registrado
12 Mensagens
0 Curtidas