我正在尝试根据sheet1的B列中的条件将行从一个工作表剪切并粘贴到另一个工作表。问题是我需要将它们粘贴在另一张纸上的公式而不是值。此外,由于它被过滤,数据不是连续的,所以我不能剪切,只是复制并粘贴到另一张纸上。
请帮忙。 PS。我没有使用循环,因为数据太多,因此过滤。
Sub TransferRows()
Dim lLRow As Long
With Sheets("Sheet1")
lLRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("B:B").AutoFilter Field:=1, Criteria1:="Cat"
.Range("B2:B" & lLRow).SpecialCells(xlCellTypeVisible).EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
.AutoFilterMode = False
End With
End Sub
如何复制或(理想情况下)根据上述列中的值将公式中的可见单元格(已过滤)剪切并粘贴到其他工作表中?
由于 西
答案 0 :(得分:1)
将PasteSpecial
与xlFormulas
Sub TransferRows()
Dim lLRow As Long
With Sheets("Sheet1")
lLRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("B:B").AutoFilter Field:=1, Criteria1:="Cat"
.Range("B2:B" & lLRow).SpecialCells(xlCellTypeVisible).EntireRow.Copy
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlFormulas
.AutoFilterMode = False
End With
End Sub
Sheet 1中
运行后的Sheet2输出