Ir para conteúdo
Fórum Script Brasil
  • 0

Redução de linhas de código


Matheus06

Pergunta

Olá a todos, esperam que estejam bem! Saberia me dizer de qual forma eu consigo reduzir as linhas abaixo?

Sheets("02").Select
Columns("J:P").Select
Selection.AutoFilter
ActiveSheet.Range("$J$1:$P$3000").AutoFilter Field:=1, Criteria1:="="
Columns("O:P").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select

Sheets("03").Select
Columns("J:P").Select
Selection.AutoFilter
ActiveSheet.Range("$J$1:$P$3000").AutoFilter Field:=1, Criteria1:="="
Columns("O:P").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select

Sheets("07").Select
Columns("J:P").Select
Selection.AutoFilter
ActiveSheet.Range("$J$1:$P$3000").AutoFilter Field:=1, Criteria1:="="
Columns("O:P").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select

Sheets("09").Select
Columns("J:P").Select
Selection.AutoFilter
ActiveSheet.Range("$J$1:$P$3000").AutoFilter Field:=1, Criteria1:="="
Columns("O:P").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select

Sheets("10").Select
Columns("J:P").Select
Selection.AutoFilter
ActiveSheet.Range("$J$1:$P$3000").AutoFilter Field:=1, Criteria1:="="
Columns("O:P").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select

Sheets("14").Select
Columns("J:P").Select
Selection.AutoFilter
ActiveSheet.Range("$J$1:$P$3000").AutoFilter Field:=1, Criteria1:="="
Columns("O:P").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select

Sheets("Fechamento").Select

Eu acrescento novas ABAs recorrentemente, então gostaria de saber se há alguma forma de ou reduzir as linhas ou deixar um comando. Como por exemplo, selecionar todas as outras abas sem ser ''Fechamento'' e realizar o código.

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia @Matheus06

Tenta fazer um loop para ele sozinho identificar quantas e quais folha tem sua planilha, abaixo eu fiz um exemplo como ficaria fazer um loop pela planilha que tenho o nome sequência "01", "02, "05" ... e uma função para verificar se a planilha existe:

Public Sub FiltrarDados()
'Variáveis
Dim i     As Long
Dim Folha As String

'Desativar animações e calculos para macro ser mais rápida
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual


'Loop para fazer formatação
For i = 1 To 20
  Folha = Format(i, "00")
  If CheckSheet(Folha) Then
    'Se existir a planilha fazer a formatação padrão
    Sheets(Folha).Select
    Columns("J:P").Select
    Selection.AutoFilter
    ActiveSheet.Range("$J$1:$P$3000").AutoFilter Field:=1, Criteria1:="="
    Columns("O:P").Select
    Selection.EntireColumn.Hidden = False
    Range("A1").Select
  End If
Next i

'Ativar animações e calculos
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Calculate


End Sub

Função para chegar se a folha existe:

Function CheckSheet(pName As String) As Boolean
'Updateby20140617
'fonte: https://pt.extendoffice.com/documents/excel/1743-excel-check-if-a-sheet-exists.html#:~:text=Salve%20este%20c%C3%B3digo%2C%20volte%20para,na%20pasta%20de%20trabalho%20atual.
Dim IsExist As Boolean
IsExist = False
For i = 1 To Application.ActiveWorkbook.Sheets.Count
    If Application.ActiveWorkbook.Sheets(i).Name = pName Then
        IsExist = True
        Exit For
    End If
Next
CheckSheet = IsExist
End Function

Como não tenho nenhuma planilha como exemplo não consigo simular em seus dados.

Verificar se deu certo, se não tiver consigo tenta colocar uma planilha com dados fictícios dentro do google drive e compartilha o link para fazer o teste do código na minha máquina.

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...