Excel VBA Само копиране на стойности за поставяне( xlPasteValues )
Опитвам се да копирам цяла колона в лист А в лист Б.В колоната на лист А има стойности, формирани с формули. Копирам стойностите на колоната в лист А само с помощта на xlPasteValues. Но не успява да вмъкне стойностите в друг листB. Колоната в листB е празна. Моят VBA код
Public Sub CopyrangeA()
Dim firstrowDB As Long, lastrow As Long
Dim arr1, arr2, i As Integer
firstrowDB = 1
arr1 = Array("BJ", "BK")
arr2 = Array("A", "B")
For i = LBound(arr1) To UBound(arr1)
With Sheets("SheetA")
lastrow = Application.Max(3, .Cells(.Rows.Count, arr1(i)).End(xlUp).Row)
.Range(.Cells(1, arr1(i)), .Cells(lastrow, arr1(i))).Copy
Sheets("SheetB").Range(arr2(i) & firstrowDB).PasteSpecial xlPasteValues
End With
Next
Application.CutCopyMode = False
End Sub
28
3
Ако искате просто да копирате цялата колона, можете да опростите кода много, като направите нещо подобно:
Или
Или ако искате да запазите цикъла
Бих минал без copy/paste
Лично аз също бих я съкратил малко, ако ви трябват само колоните:
тъй като от този фрагмент от код няма голям смисъл от
lastrow
илиfirstrowDB