Подтвердить что ты не робот

Копирование формулы в следующую строку при вставке новой строки

У меня есть строка, в которой есть формулы, использующие значения той же строки. Следующая строка пуста, только с другим цветом фона.

Теперь, если я вставляю новую строку (щелкнув правой кнопкой мыши на пустую строку и "вставить" ), я получаю новую строку без цвета фона (это то, что я хочу), но строка также НЕ содержит любые формулы: как мне заставить Excel умереть и копировать формулы из предыдущей строки при создании новой строки?

Еще одна часть информации: информация о проверке данных (т.е. раскрывающийся список) копируется при вставке новой строки.

Спасибо.

4b9b3361

Ответ 1

Сделайте область с вашими данными и формулами Таблица:

enter image description here

Затем добавление новой информации в следующую строку скопирует все формулы в этой таблице для новой строки. Валидация данных также будет применяться для новой строки, как и для всего столбца. Это действительно Excel умнее с вашими данными.

НЕТ VBA требуется...

Ответ 2

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

Вы можете использовать Application.ScreenUpdating = False, чтобы убедиться, что пользователь не видит, что вы меняете листы в своем макросе.

Если у вас нет рабочего листа, копия не работает должным образом, т.е. некоторые вещи, похоже, работают, а другие вещи не являются?

Ответ 3

Вам нужно вставить новую строку, а затем скопировать из исходной строки во вновь вставленную строку. Excel позволяет вставлять специальные формулы. Итак, в Excel:

  • Вставьте новую строку
  • Скопировать исходную строку
  • Выберите вновь созданную целевую строку, щелкните правой кнопкой мыши и вставьте специальные
  • Вставить в формулу

VBA, если требуется, с строками ( "1:1" ), являющимися исходными, и строками ( "2: 2" ) являются цель:

Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Rows("2:2").Clear

Rows("1:1").Copy
Rows("2:2").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone

Ответ 4

Если у вас есть рабочий лист со многими строками, в котором все содержат формулу, самым простым способом является копирование строки без данных (но она содержит формулы), а затем "вставить скопированные ячейки" ниже/выше где вы хотите добавить. Формулы остаются. В крайнем случае, можно использовать строку с данными. Просто очистите его или перезапишите после вставки.