Celri_33, acredito que seu código não está com um loop infinito e sim contabilizando o total de linhas que contém no Excel.
No seu "For each" está pegando a coluna inteira, ou seja, todas as linhas da coluna "A", que no total é 1048576 linhas.
"For Each Celula In Worksheets("Clientes").Range("A:A")"
Repare no Range, "Range("A:A")". Coluna inteira.
Aconselho que ao colocar um grupo no "For Each", definir uma limitação de células preenchidas, ou seja, localizar a última linha preenchida e deixar o "For Each" com um grupo limitado.
Uma outra opção que acredito que seja mais simples e fácil, é utilizar o "Do Until", exemplo:
cont = 2
do until Cells(cont,1).value = ""
(reparei que você está buscando se já existe um nome na lista, então cabe aqui usar o "IF". Então você coloca o procedimento que preferir.)
cont = cont + 1
loop
É importante pegar um coluna do qual você tem certeza que será preenchido e não haverá nenhuma célula em branco, só quando acabar a lista.
Espero ter ajudado.
Se a informação foi útil, click no joinha ao lado do botão citar. Sucesso!!!
Postado : 26/08/2018 6:43 am