Вставка строк без выбора ничего? - PullRequest
8 голосов
/ 26 апреля 2010

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

Rows(i & ":" & i).Select
ActiveCell.EntireRow.Insert

Я не хочу выбирать A1, чтобы добраться до вершины.

Ответы [ 2 ]

17 голосов
/ 26 апреля 2010

Просто сделайте это:

Cells(i,1).EntireRow.Insert

Примените действие непосредственно к желаемому диапазону, вместо того, чтобы сначала выбрать его и применить действие к «Activecell».

Несколько дополнительных примечаний:

  • Функция «Записать макрос» генерирует код, подобный вашему примеру, но я считаю, что предварительный выбор ячейки редко необходим при написании собственного кода.
  • Дополнительное преимущество: непосредственное использование ячейки вместо ее выбора может ускорить код в 10–100 раз !!
5 голосов
/ 26 апреля 2010

Rows(i & ":" & i).Insert вставит строку ниже без изменения выбора.

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