2
respostas

Deu um erro depois que eu Ocultei a ABA "Controle de Entregas"

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 ?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

* JA DESCOBRI.... FIQUEI DESATENTO COM UM DETALHE/:

TEM QUE COPIAR A FILTRARBASE PARA DENTRO DA MACRO : FILTROSP

2 respostas

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!