Uma família de softwares de planilhas da Microsoft com ferramentas para analisar, criar gráficos e comunicar dados.
Caro xlaz,
agora sim, tenho certeza de que dirás ser uma solução complexa, mas ela soluciona o problema, alterando na planilha as vírgulas por pontos, antes de criar o filtro e desta vez a macro está completa.
Sub Filtro() For Each Celula In Range("C2:D3") Celula.Value = Replace(Celula.Value, ",", ".") Next Range("A1:A11").AdvancedFilter Action:=xlFilterCopy, criteriarange:=Range("C2:D3"), copytorange:=Range("F1"), unique:=TrueEnd Sub
O que faltava na macro que adaptastes era realizar o loop pelo conteúdo das células e não temos como fazer isto dentro da criação do filtro.
Pessoalmente eu prefiro uma versão mais "mastigada" e portanto mais extensa, mas ambas funcionam.
Sub Filtro() 'Declarações de variáveis Dim FxDados As String Dim FxCrit As String Dim FxResult As String Dim Celula As Variant 'Atribuições de dados FxDados = "A1:A11" FxCrit = "C2:D3" FxResult = "F:F" 'Limpeza de conteúdo Range(FxResult).ClearContents 'Tratamento de dados For Each Celula In Range(FxCrit) Celula.Value = Replace(Celula.Value, ",", ".") Next 'Criação do filtro Range(FxDados).AdvancedFilter Action:=xlFilterCopy, criteriarange:=Range(FxCrit), copytorange:=Range(FxResult), unique:=TrueEnd Sub
Abraço, Carlos F. P. Rocha - Conheça http://www.carlosfprocha.com