![Aplicar uma fórmula a uma coluna inteira, pois o número de linhas está mudando em um arquivo de origem?](https://rvso.com/image/1416715/Aplicar%20uma%20f%C3%B3rmula%20a%20uma%20coluna%20inteira%2C%20pois%20o%20n%C3%BAmero%20de%20linhas%20est%C3%A1%20mudando%20em%20um%20arquivo%20de%20origem%3F.png)
Eu tenho uma conexão com uma fonte de arquivo de texto para que a planilha do Excel seja atualizada automaticamente. Portanto, o número de linhas está sempre crescendo a cada atualização. Como posso aplicar uma fórmula a uma coluna inteira?
Clicar duas vezes na caixa no canto inferior da célula aplica a fórmula apenas às células anteriores antes da atualização da conexão, e as linhas recém-adicionadas na parte inferior não recebem a fórmula.
Responder1
Sua pergunta não indica qual fórmula você deseja aplicar e mostra como aplicar uma fórmula para uma coluna inteira quando o número de linhas é desconhecido.
Algumas ideias
Range("A:A") 'this grabs the entire range
Então, você poderia fazer
Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("A1:C2")
For Each row In rng.Rows
For Each cell in row.Cells
'logic
Next cell
Next row
Ou você pode continuar indo para a próxima linha até que a próxima linha esteja vazia
dim row as integer
row = 1
do while (Range("A" & row).value<>"")
'logic
row= row + 1
loop
Sua pergunta também indica que ele só está fazendo a planilha inteira quando você a carrega pela primeira vez, depois, ao apertar o botão, ela não se aplica a novas entradas. Isso significa que ele não está contando o número total de linhas corretamente, então você pode usar algo como o acima para garantir que ele sempre itere em todas as linhas.