Я использую следующий код для копирования значения с одного листа на другой
Lastrow = WAEnv.Cells(Rows.Count, 1).End(xlUp).Row
Xrow = 1
lcol = Cells(3, Columns.Count).End(xlToLeft).Column
vArr = Split(Cells(1, lcol).Address(True, False), "$")
Debug.Print Xrow
For Rw = 3 To Lastrow
Set Rng = WAEnv.Range("A" & Rw & ":" & vArr(0) & Rw)
If Rng(1, 1).Value > 0 Then
ReDim Preserve DstArr(1 To lcol, 1 To Xrow)
Xcol = 1
For Each cl In Rng.Columns.Cells
DstArr(Xcol, Xrow) = cl.Value
Xcol = Xcol + 1
Next cl
WAPatch.Cells(Xrow, 1).RowHeight = Rng(1, 1).RowHeight
Xrow = Xrow + 1
End If
Next Rw
WAPatch.Range("A3").Resize(UBound(DstArr, 2), UBound(DstArr, 1)).Formula = Application.Transpose(DstArr)
Я уже знаю, что могу использовать для cpy все форматирование, но приведенный ниже код очень медленный, поэтому я использую вышеупомянутый метод массива.
WAEnv.Cells(i, j).Copy
WAPatch.Cells(ro, j).PasteSpecial Paste:=xlPasteAll
Что я ищу, если есть способ скопировать и вставить все форматирование с одного листа на другой, используя метод массива, который я использовал?