У меня есть соединение с источником текстового файла, поэтому таблица Excel обновляется автоматически. Поэтому число строк всегда увеличивается при каждом обновлении. Как я могу применить формулу ко всему столбцу?

Двойной щелчок на поле в нижнем углу ячейки применяет формулу только к предыдущим ячейкам до обновления соединения, и вновь добавленные строки внизу не получают формулу.

1 ответ1

0

В вашем вопросе не указано, какую формулу вы хотите применить, и рассказывается, как вы можете применить формулу для всего столбца, если число строк неизвестно.

Несколько идей

Range("A:A") 'this grabs the entire range

Итак, вы могли бы сделать

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

Или вы можете продолжать переходить к следующему ряду, пока следующий ряд не станет пустым

dim row as integer
row = 1

do while (Range("A" & row).value<>"")
    'logic
    row= row + 1
loop

Ваш вопрос также указывает на то, что он выполняет весь рабочий лист только при первой его загрузке, после того как, когда вы нажмете кнопку, он не будет применять его к новым записям. Это означает, что он неправильно учитывает общее количество строк, поэтому вы можете использовать что-то подобное, чтобы гарантировать, что оно всегда проходит по всем строкам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .