Зацикливание формулы в столбце, пока данные существуют в другом столбце - PullRequest
0 голосов
/ 05 сентября 2018

Я застрял и уверен, что все просто. Мне нужно запустить формулу LOOKUP в столбце E, в то время как данные существуют в столбце A. В столбце A будет разное количество данных / строк, оно никогда не будет заданным числом. Проблема в том, что мой код хочет перебрать ВСЕ столбца E, а запуск макроса занимает 20 минут.

Вот что у меня есть:

Sub Run_Lookup()
      Range("A1").Select
      Do Until IsEmpty(ActiveCell)
         Range("E:E").Formula = "=lookup(A1, G:H)"
         ActiveCell.Offset(1, 0).Select
      Loop
   End Sub

Я ценю любой совет.

РЕДАКТИРОВАТЬ: Visual моей проблемы ...

EDIT: A visual of my issue...

1 Ответ

0 голосов
/ 05 сентября 2018

Есть несколько способов сделать это - мне не нравится DoUntil:

1) Не могли бы вы просто превратить ваши данные в таблицу? Он будет автоматически расширять столбец E по мере необходимости, нет необходимости в VBA.

2) Напишите свой цикл, чтобы сначала найти конец ваших данных (подсказка: Google для LastRow Excel VBA), затем цикл

For I = 1 to LastRow
    'Code here
Next I
...