Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por Josebeca
#1645
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 e filtra nocamente a outra coluna. Abaixo segue o código q estou usando para o filtro em uma combobox por exemplo:
--------------------------------------------------------------------------------------------------------------------------
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

----------------------------------------------------------------------------------------------------------------------

Quando faço o mesmo códio 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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord