Depois que eu ocultei a ABA controle de Entregas e Exclui a Macro Filtro SP, deu o seguinte erro abaixo. O que eu fiz de errado ?
* JA DESCOBRI.... FIQUEI DESATENTO COM UM DETALHE/:
TEM QUE COPIAR A FILTRARBASE PARA DENTRO DA MACRO : FILTROSP
Depois que eu ocultei a ABA controle de Entregas e Exclui a Macro Filtro SP, deu o seguinte erro abaixo. O que eu fiz de errado ?
* JA DESCOBRI.... FIQUEI DESATENTO COM UM DETALHE/:
TEM QUE COPIAR A FILTRARBASE PARA DENTRO DA MACRO : FILTROSP
Tentei fazer igual e deu um maior problema.... agora não roda a macro de Filtragem! eita...
Olá Luciano, tudo bem? Espero que sim!
Desculpe pela demora em retornar.
Isso está acontecendo porque você está utilizando a planilha Oculta para realizar a filtragem, que era a ideia da macro que não está mais funcionando e teria que ser deletada.
O erro está ocorrendo na linha Sheets("Controle de Entregas").Select
, uma vez que o Excel não consegue realizar a seleção da planilha enquanto ela estiver oculta. Para realizar a seleção você poderia utilizar uma linha de código para habilitar a planilha ao início do código e outra ao final para esconder novamente a planilha. Por exemplo:
Sheets("Controle de Entregas").Visible = True
Sheets("Controle de Entregas").Select
' Bloco de código a ser executado com a planilha "Controle de Entregas"
Sheets("Controle de Entregas").Visible = False
Repare que dessa forma o Excel conseguirá selecionar a planilha porque ela estará visível no momento da seleção e depois de encerrar o código podemos esconder, então no momento da utilização o usuário nem irá perceber.
Mas como aquela macro não funciona mais, podemos utilizar os novos comandos.
Os comandos para a FiltrarBase() e FiltrarSP() corretos são os comandos a seguir:
Sub FiltrarBase()
'
' FiltrarBase Macro
' Macro que ajuda a obter uma base filtrada
'
'
'
Application.CutCopyMode = False
Application.CutCopyMode = False
Application.CutCopyMode = False
Application.CutCopyMode = False
Range("OrigemDinamica").AdvancedFilter Action:=xlFilterCopy, CriteriaRange _
:=Range("A1:M2"), CopyToRange:=Range("A5:M5"), Unique:=False
Sheets("Valor por Veículo").Select
ActiveSheet.PivotTables("Tabela dinâmica8").PivotCache.Refresh
Sheets("Base Filtrada").Select
End Sub
Sub FiltrarSP()
'
' FiltrarSP Macro
' Filtro sp na base filtrada
'
'
Range("A2:M2").Select
Selection.ClearContents
Range("G2").Select
ActiveCell.FormulaR1C1 = "utilitário pequeno"
Range("H2").Select
ActiveCell.FormulaR1C1 = "sp"
Range("J2").Select
ActiveCell.FormulaR1C1 = "*em aberto*"
Range("J3").Select
Application.CutCopyMode = False
Application.CutCopyMode = False
Application.CutCopyMode = False
Application.CutCopyMode = False
Range("OrigemDinamica").AdvancedFilter Action:=xlFilterCopy, CriteriaRange _
:=Range("A1:M2"), CopyToRange:=Range("A5:M5"), Unique:=False
Sheets("Valor por Veículo").Select
ActiveSheet.PivotTables("Tabela dinâmica8").PivotCache.Refresh
Sheets("Base Filtrada").Select
End Sub
Espero que tenha tirado sua dúvida.
Estou à disposição. Bons estudos!