Можно ли как-нибудь скопировать макрос и вставить данные из другого листа на мастер-лист, сохранив формулы на мастер-листе? Поэтому я хочу, чтобы мой макрос вставлял текст только при сохранении форматирования и формул основной таблицы. Я также хочу удалить данные, которые я копирую, из моей ежедневной таблицы после того, как я вставлю ее в мастер. Вот мой макрос до сих пор
Sub macro ()
Workbooks.Open Filename:= _
("I:\Master Copy.xlsm"), Password:="nm"
Dim lNewRow As Long
Dim lDataRow As Long
Windows("Master Copy").Activate
ActiveSheet.Unprotect Password = "nm"
Windows("Daily Worksheet").Activate
'1. Find last used row in both sheets
lNewRow = Workbooks("Daily Worksheet").Worksheets("Sheet1").Cells(Worksheets("Sheet1").Rows.Count, "A").End(xlUp).Row
Windows("Master Copy").Activate
lDataRow = Workbooks("Master Copy").Worksheets("Submission Log").Cells(Worksheets("Submission Log").Rows.Count, 1).End(xlUp).Row
lDataRow = lDataRow + 1
'2. Copy data
Workbooks("Daily Worksheet").Worksheets("Sheet1").Range("A2:R" & lNewRow).Copy
'3. Paste data
Worksheets("Submission Log").Range("A" & lDataRow).PasteSpecial
Application.CutCopyMode = False
Selection.ClearContents
Windows("Master Copy").Activate
ActiveSheet.Protect Password = "nm"
End Sub
microsoft-excel
macros
Джош У
источник
источник
Ответы:
Вы не можете делать то, что вы просите, с помощью одной строки кода.
Я предполагаю, что то, что находится в каждом столбце, в значительной степени совместимо между вашими двумя листами (в противном случае вы бы не пытались копировать весь диапазон с одного листа на другой).
Вот один из способов сделать это:
Конечно, есть другие способы сделать это, но все они потребуют, чтобы ваш код VBA «знал» ссылки (или как их найти) ячеек, которые должны обрабатываться по-разному. Нет встроенной функции, которая выполняет несколько разных типов копирования, которые вам нужны, в одном диапазоне за одну операцию. У нас есть VBA из-за таких вещей!
Что касается удаления данных из исходного листа, я предполагаю, что вы ищете метод .ClearContents .
источник