Pode utilizar a seguinte sintaxe básica para contar o número de colunas utilizadas numa folha de Excel utilizando o VBA:

 Sub CountColumns() Range(" A10 ") = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column End Sub 

Este exemplo particular conta o número de colunas usadas na folha chamada Folha1 e apresenta o resultado na célula A10 .

Se, em vez disso, pretender apresentar a contagem de colunas numa caixa de mensagem, pode utilizar a seguinte sintaxe:

 Sub CountColumns() Dim LastCol As Long LastCol = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column MsgBox " Column Count: " & LastCol End Sub 

Os exemplos seguintes mostram como utilizar cada um destes métodos na prática com o seguinte conjunto de dados em Excel que contém informações sobre vários jogadores de basquetebol:

Exemplo 1: Contar colunas usadas no VBA e apresentar os resultados na célula

Suponhamos que gostaríamos de contar o número de colunas utilizadas e apresentar os resultados numa célula específica.

Para o efeito, podemos criar a seguinte macro:

 Sub CountColumns() Range(" A10 ") = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column End Sub 

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

Repare que a célula A10 contém um valor de 4 .

Isto diz-nos que existem 4 colunas utilizadas.

Exemplo 2: Contar colunas usadas no VBA e Mostrar resultados em Caixa de Mensagens

Suponhamos que, em vez disso, gostaríamos de contar o número de colunas utilizadas e apresentar os resultados numa caixa de mensagem.

Para o efeito, podemos criar a seguinte macro:

 Sub CountColumns() Dim LastCol As Long LastCol = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column MsgBox " Column Count: " & LastCol End Sub 

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

A caixa de mensagem diz-nos que há 4 colunas utilizadas.

Nota Se houver colunas vazias seguidas de colunas com dados, o VBA contará as colunas vazias como "usadas" no cálculo.