很抱歉寻求帮助,但我一直在尝试很多宏,但没有人能胜任这项工作。我不知道在哪里寻找解决方案。
所以我想将所有行复制(粘贴值和保持格式化)到A:F,其中G =“是”到另一个名为“ANAF ANG”的工作表到指定范围内(相同的A:F,从A2开始)
注意:复制数据的初始工作表必须在完成后清除过滤器。
怎么......?
答案 0 :(得分:0)
您可以使用此评论代码:
Sub main()
With Sheets("ABC") '<--| reference your sheet
With .Range("G1", .Cells(.Rows.Count, 1).End(xlUp)) '<--| reference its column "A:G" range from row 1 down to column "A" last not empty row
.AutoFilter Field:=7, Criteria1:="yes" ''<--| filter referenced range on its 7th column (i.e. column "G") with "yes" values
If Application.WorksheetFunction.Subtotal(103, .Resize(, 1)) > 1 Then .Resize(.Rows.Count - 1, 6).Offset(1).SpecialCells(xlCellTypeVisible).Copy Destination:=Worksheets("ANAF ANG").Range("A2")
End With
.AutoFilterMode = False
End With
End Sub
答案 1 :(得分:0)
请勿尝试从头开始编写VBA脚本,使用Excel宏录制。如果您知道如何以交互方式实现结果,则会为您创建必要的代码。如果你仍然不满意你可以调整它的代码,那么 - 比阅读参考手册要好几个小时,只是为了让你开始。