
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.