VBA如何在另一张纸上粘贴行,所以它们包含公式?

时间:2017-07-26 13:24:13

标签: vba

我正在尝试根据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

如何复制或(理想情况下)根据上述列中的值将公式中的可见单元格(已过滤)剪切并粘贴到其他工作表中?

由于 西

1 个答案:

答案 0 :(得分:1)

PasteSpecialxlFormulas

一起使用
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中

enter image description here

运行后的Sheet2输出

enter image description here