При использовании Target.Count
могут возникнуть ошибки переполнения. Обычно это происходит с помощью Ctrl + A. Поведение при расширении, если Ctrl + A обеспечивает очень слабую защиту. В лучшем случае вы должны нажать ее три раза, чтобы сначала выбрать регион, затем используемый диапазон, а затем весь лист. В худшем случае требуется один раз.
Из MS Docs re: Range object & Count против CountLarge свойства
https://docs.microsoft.com/en-us/office/vba/api/excel.range.count
Свойство CountLarge функционально аналогично свойству Count, за исключением того, что свойство Count будет генерировать ошибку переполнения, если указанный диапазон имеет более 2 147 483 647 ячеек (один из которых меньше 2048 столбцов). Однако свойство CountLarge может обрабатывать диапазоны вплоть до максимального размера рабочего листа, который составляет 17 179 869 184 ячеек.
Функция оболочки против объекта оболочки
Функция оболочки - это Очень прост в использовании, нет необходимости в дополнительных затратах на создание объекта.
Например, использование функции оболочки для открытия страницы 4 файла myfile.pdf в Inte rnet Explorer:
Shell("C:\Program Files\Internet Explorer\iexplore.exe " + "C:\myfile.pdf#Page=4")
Обратите внимание, что после `" [...] iexplore.exe [...] "есть пробел, который важен.
Замените путь к исполняемому файлу приложением по вашему выбору
Примечание. Многие приложения не могут открыть PDF-файл для указанной c страницы. Просто пропустите часть #Page=
в этой проблеме.
Примечание: вы также можете получить PID нового процесса, например:
vPID = Shell("C:\Program Files\Internet Explorer\iexplore.exe " + "C:\myfile.pdf#Page=4")