Я пытаюсь объединить три листа в один мастер-лист, он работает нормально, однако мои два листа содержат формулу, и если их вставить напрямую, это дает мне #VALUE!
, что, очевидно, связано с формулой, содержащей столбцы.
Итак, я хочу специально вставить все три листа в один мастер-лист, чтобы он не давал мне #VALUE!
на мастер-листе.
Вот код, который я использую:
Sub Combine3Sheet()
Dim Ary As Variant
Dim Ws As Worksheet
Ary = Array("Sheet1", “Sheet2", "Sheet3")
Sheets("Master").Name = "Master"
For Each Ws In Worksheets(Ary)
Ws.UsedRange.Offset(1).Copy Sheets("Master") _
.Range("A" & Rows.Count).End(xlUp).Offset(1)
Application.DisplayAlerts = False
Application.DisplayAlerts = True
Call Formatting
Next Ws
End Sub
Мой вопрос заключался в том, чтобы вставить специальные данные вместо копирования и вставки.
Ws.UsedRange.Offset(1).Copy Sheets("Master").Range("A" & Rows.Count).End(xlUp).Offset(1)————— Можем ли мы изменить его, чтобы вставить специальный
Используйте PasteSpecial xlPasteValues
вместо Copy Destination:=
ws.UsedRange.Offset(1).Copy
Sheets("Master").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlPasteValues
@Rajeshji нет проблем, тогда отметьте ответ как правильный (знак галочки - ✓ ), чтобы вопрос больше не оставался открытым. Также, как я проверил, вы также не приняли правильный ответ на свой предыдущий вопрос.
Сэр.. Я проверил правильный знак в обоих ответах... Спасибо!
Нет смысла звонить
Application.DisplayAlerts = False
иApplication.DisplayAlerts = True
подряд. Вы имели в виду, что предыдущая строка должна находиться между этими двумя?