Aplicar uma fórmula a uma coluna inteira, pois o número de linhas está mudando em um arquivo de origem?

Aplicar uma fórmula a uma coluna inteira, pois o número de linhas está mudando em um arquivo de origem?

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.

informação relacionada