Обновление ссылок VBA для l oop происходит слишком медленно - PullRequest
0 голосов
/ 10 марта 2020

У меня есть две рабочие книги: MainWorkbook, SourceWorkbook.

По сути, у меня есть пользователь, который вводит список биржевых тикеров в MainWorkbook. SourceWorkbook выполняет расчеты на основе одного тикера, а затем выводит информацию. Я отображаю часть этой информации в MainWorkbook (для каждого тикера, который вводит пользователь).

Процесс для этого (например, псевдокод)

Для каждый тикер:

  1. Изменить тикер в SourceWorkbook
  2. Обновить ссылки в MainWorkbook (чтобы новые данные извлекались)
  3. Вставить информацию, извлеченную в MainWorkbook, в виде значений Go на следующий тикер

Вот мой код:

For Each ticker In tickers_array
    source_book.Worksheets("Calculation").Range("D4") = ThisWorkbook.Worksheets("Detailed Exhibit").Cells(7, current_ticker_col).Value
    ThisWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources, Type:=xlExcelLinks
    With ThisWorkbook.Worksheets("Detailed Exhibit")
        .Range(.Cells(9, current_ticker_col), .Cells(29, current_ticker_col + 4)).Value = .Range(.Cells(9, current_ticker_col), .Cells(29, current_ticker_col + 4)).Value
    End With
    current_ticker_col = current_ticker_col + 4
Next

Примечание: я показываю информацию для каждого биржевого тикера в строках 9 - 29 в 4 столбцах (следовательно, обновляя current_ticker_col на 4 с помощью каждый l oop).

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

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