Excel VBA: узнать размер внешней справочной таблицы - PullRequest
0 голосов
/ 17 ноября 2010

У меня есть подпрограмма Excel VBA, которая (помимо прочего) вставляет формулу поиска в некоторые ячейки. В настоящее время формула поиска имеет вид

LOOKUP(RC5,lookup.xlsx!Item,lookup.xlsx!R2C:R559C)

но размер таблицы поиска изменится. Есть ли хороший способ найти размер таблицы поиска, то есть последней строки?

В крайнем случае я полагаю, что могу открыть файл поиска (что за команда для этого?) И выполнить

Windows("lookup.xlsx").Activate
last = Range("a65536").End(xlUp).Row    
Windows("whatever.xlsx").Activate

но я не уверен, есть ли лучший способ.

1 Ответ

1 голос
/ 17 ноября 2010

Поиск последней использованной ячейки имеет плохую репутацию в Excel AFAIK.См. Например this , хотя и немного устаревший.Если можете, просто вставьте значение EOF в последнюю использованную строку и отсканируйте его.

Редактировать

Помните:

  • Нулевое значение (или пробелы) может хорошо служить в качестве флага EOF.Будьте уверены, чтобы быть последовательным.
  • Вы всегда можете включить полные столбцы в диапазон поиска, и Excel позаботится о конце (если в вашем диапазоне больше нет используемых ячеек. Как в = LOOKUP (A1, C: C, D: D))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...