[英]VBA: autofilter a range and copy to existing sheet
對不起,我尋求幫助,但是我一直在嘗試很多宏,但是沒有一個工作做對了。 我不知道在哪里尋找解決方案。
所以我想將所有行復制(粘貼值並保持格式設置)到A:F,其中G =“ Yes”復制到另一個名為“ ANAF ANG”的工作表到指定范圍內(從A2開始,相同的A:F)。
注意:從中復制數據的初始工作表在完成后必須清除過濾器。
怎么樣.. ?
您可以使用以下注釋代碼:
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
不要嘗試從頭開始編寫VBA腳本,請使用Excel宏錄制。 如果您知道如何以交互方式獲得結果,則會為您創建必要的代碼。 如果您仍然對代碼不滿意,可以對其進行調整,那么-比起閱讀參考手冊好幾個小時要容易得多,這僅僅是為了讓您入門。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.