Vba: como encontrar a última coluna usada
Você pode usar a seguinte sintaxe básica em VBA para encontrar a última coluna usada em uma planilha Excel:
Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub
Este exemplo específico procura a última coluna usada na planilha atual e retorna o resultado na célula A14 .
Se você quiser exibir a última coluna de uma caixa de mensagem, poderá usar a seguinte sintaxe:
Sub FindLastColumn()
Dim LastCol As Long
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
MsgBox " Last Column: " & LastCol
End Sub
Os exemplos a seguir mostram como usar cada um desses métodos na prática.
Relacionado: VBA: Como encontrar a última linha usada
Exemplo 1: Encontre a última coluna usando VBA e exiba os resultados na célula
Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:
Podemos criar a seguinte macro para encontrar a última coluna usada nesta planilha Excel e exibir o resultado na célula A14 :
Sub FindLastColumn()
Range(" A14 ") = Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
Observe que a célula A14 contém o valor 2 .
Isso nos diz que a última coluna usada nesta planilha específica é a coluna 2.
Também é importante notar que se você tiver colunas vazias antes de uma coluna usada, esta macro sempre encontrará a última coluna usada.
Por exemplo, suponha que executemos a macro no seguinte conjunto de dados:
A célula A14 contém o valor 5 porque é a última coluna que contém valores.
Exemplo 2: Encontre a última coluna usando VBA e exiba os resultados na caixa de mensagem
Suponha que, em vez disso, queiramos encontrar a última coluna usada em uma planilha e exibir o número da coluna em uma caixa de mensagem.
Podemos criar a seguinte macro para fazer isso:
Sub FindLastColumn()
Dim LastCol As Long
LastCol=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByColumns,xlPrevious,False).Column
MsgBox " Last Column: " & LastCol
End Sub
Quando executamos esta macro, recebemos a seguinte saída:
A caixa de mensagem nos informa que a última coluna usada na planilha é a coluna 2 .
Nota : Você pode encontrar a documentação completa para o método Find do VBA aqui .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:
VBA: Como calcular o valor médio do intervalo
VBA: Como contar o número de linhas no intervalo
VBA: Como remover valores duplicados no intervalo