Há várias maneiras de contar linha com vba, existe tantas que não lembro todas, e cada tipo de procedimento possui vantagens e desvantagens.
E neste artigo específico vou trazer duas maneiras:
Codigo 1 – contar linha a linha
>>CODIGO 1 – O problema do código abaixo é o tempo para verificar (dependendo da qtde) e complexidade, pois ele irá varrer linha a linha da coluna especificada
Sub Macro1() varColuna = 1 ' Coluna que será verificado varLinha = 1 ' Linha inicial que será verificado varConteudo = 1 Do While varConteudo <> Empty 'continua a verificar se conteudo for diferente de vazio varLinha = varLinha + 1 'contador de linha varConteudo = Cells(varLinha, varColuna).Value 'grava o valor da celula Loop MsgBox "A qtde. de linhas é: " + CStr(varLinha - 1) End Sub
Codigo 2 – Contar linha 2
‘>>CODIGO 2 O problema deste código abaixo que se tiver uma linha vazia no meio dos registros ele vai contar junto
Sub Contador() numeroRegistros = Range("A65536").End(xlUp).Row MsgBox "Número de Registros: " & numeroRegistros, vbOkOnly, "Número de registros em: " & now() End Sub
‘Este ultimo código é visto pelo site msdn
E como havia dito existe outras maneira que você poerá ver aqui no site: