Вставка строк, ничего не выбирая?

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

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

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

8
задан watakushi 14 April 2016 в 16:14
поделиться

2 ответа

Просто сделайте следующее:

Cells(i,1).EntireRow.Insert

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

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

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

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

5
ответ дан 5 December 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: