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