Vba: como contar o número de planilhas em uma pasta de trabalho


Você pode usar os seguintes métodos para contar o número de planilhas em uma pasta de trabalho no Excel:

Método 1: conte o número de planilhas na pasta de trabalho ativa

 SubCountSheetsActive ()
   Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub

Método 2: conte o número de planilhas em uma pasta de trabalho aberta

 SubCountSheetsOpen ()
    Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub

Método 3: conte o número de folhas em um fichário fechado

 SubCountSheetsClosed ()
    Application.DisplayAlerts = False
    Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
    
    'count sheets in closed workbook and display count in cell A1 of current workbook
    ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count

    wb.Close SaveChanges:=True
    Application.DisplayAlerts = True
End Sub

Os exemplos a seguir mostram como usar cada um desses métodos na prática.

Exemplo 1: conte o número de planilhas em uma pasta de trabalho ativa

Digamos que temos a seguinte pasta de trabalho do Excel aberta e a estamos visualizando:

Podemos usar a seguinte macro para contar o número total de planilhas nesta pasta de trabalho e exibir o número na célula A1:

 SubCountSheetsActive ()
   Range(" A1 ") = ThisWorkbook.Worksheets.Count
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que a célula A1 contém o valor 6 .

Isso nos diz que há 6 planilhas nesta pasta de trabalho.

Exemplo 2: Conte o número de folhas em um fichário aberto

Digamos que temos uma pasta de trabalho do Excel chamada my_data.xlsx com duas planilhas abertas, mas não a estamos visualizando no momento.

Podemos usar a seguinte macro para contar o número total de planilhas nesta pasta de trabalho e exibir o número na célula A1 da pasta de trabalho ativa:

 SubCountSheetsOpen ()
    Range(" A1 ") = Workbooks(" my_data.xlsx ").Sheets.Count
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que a célula A1 contém o valor 2 .

Isso nos diz que existem 2 planilhas na pasta de trabalho aberta chamadas my_data.xlsx .

Exemplo 3: Contando o número de folhas em um fichário fechado

Digamos que temos uma pasta de trabalho do Excel chamada my_data.xlsx com duas planilhas que não estão abertas no momento, mas estão localizadas no seguinte local de arquivo:

C:\Usuários\Bob\Desktop\meus_dados.xlsx

Podemos usar a seguinte macro para contar o número total de planilhas nesta pasta de trabalho e exibir o número na célula A1 da primeira planilha da pasta de trabalho ativa:

 SubCountSheetsClosed ()
    Application.DisplayAlerts = False
    Set wb = Workbooks.Open(" C:\Users\Bob\Desktop\my_data.xlsx ")
    
    'count sheets in closed workbook and display count in cell A1 of current workbook
    ThisWorkbook.Sheets(1).Range(" A1 ").Value = wb.Sheets.Count

    wb.Close SaveChanges:=True
    Application.DisplayAlerts = True
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

Observe que a célula A1 contém o valor 2 .

Isso nos diz que existem 2 planilhas na pasta de trabalho fechada chamadas my_data.xlsx .

Nota : No código, Application.DisplayAlerts=False diz ao VBA para não exibir o processo de abertura da pasta de trabalho fechada, contagem das planilhas e, em seguida, fechamento da pasta de trabalho.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como contar o número de linhas no intervalo
VBA: Como contar células com texto específico
VBA: Como escrever funções COUNTIF e COUNTIFS

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *