我希望你一切都好。VBA复制并粘贴只复制第一行
我正在尝试使用下面的代码将不同产品的订单添加到一起。但只有D列中值大于0的产品。不幸的是,尽管代码出于某种原因只复制范围的第一行,即使有其他行符合条件。谁能帮忙?
Sub ADDTOORDERS()
Dim Sh As Worksheet, C As Worksheet, Last As Long
Set Sh = Sheets("Menu")
Set C = Sheets("LensOrder")
With Sh
Last = .Cells(Rows.Count, 2).End(xlUp).Row
.Range("B7:D" & Last).AutoFilter Field:=2, Criteria1:=">0", Operator:=xlAnd
.Range("B7:D" & Last).SpecialCells(xlCellTypeVisible).Copy
C.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)
Sheets("Menu").Range("C3").Select
.Range("B7:D" & Last).AutoFilter
End With
End Sub
如果你想要D,你不应该检查字段3吗? – SJR
这样的白痴谢谢你。 @SJR我可以问,虽然我正在运行宏,但它总是复制范围的第一行,即使它不符合标准,为什么会这样? –
轻松完成!你的意思是它总是复制第7行或第8行? AF采用标题行,因此它将复制第一行。如果您没有任何标题,请添加标题行并将复制范围偏移1行。 – SJR