![](/img/trans.png)
[英]Copy Paste Columns from one sheet to another sheet based on Autofilter
[英]Autofilter to copy and paste to different sheet based on 2 criterias
我不確定如何使用Autofilter,但我正在創建一個新的工作表,我正在嘗試根據兩個標准過濾另一個工作表。 然后,我需要將該工作表中僅有2列的值復制到新工作表中。 這是我到目前為止的代碼:
Private Sub Workbook_Open()
Dim ws As Worksheet
Set sheet = Sheets.Add(After:=Sheets(Worksheets.Count))
ActiveSheet.Range("A11").Value = "Projects in Loss:"
ActiveWorkbook.Sheets("Fielding").Activate
ActiveSheet.ShowAllData
ActiveWorkbook.Sheets("Fielding").Activate
ActiveSheet.ShowAllData
Selection.AutoFilter field:=15,
Criteria:=ActiveWorkbook.Sheets(Target).Range("A3").Value, Operator:=xlAnd
Selection.AutoFilter field:=21, Criteria:="<30%" & ">0"
ActiveSheet.Columns("A").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
ActiveWorkbook.Sheets(ws).Activate
ActiveSheet.Range("A12").PasteSpecial xlPasteValues
Application.CutCopyMode = False
ActiveWorkbook.sheet ("Fielding")
ActiveSheet.Columns("U").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
ActiveWorkbook.Sheets(ws).Activate
ActiveSheet.Range("B12").PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
它一直給我一個運行時錯誤'1004'。 有誰知道我做錯了什么或者能指引我朝着正確的方向前進?
Selection.AutoFilter field:=21, Criteria:="<30%" & ">0"
這樣做的方法是使用xlAnd
運算符設置兩個不同的標准
Selection.AutoFilter field:=21, Criteria1:=">0", Operator=xlAnd, Criteria2 = "<0.3"
此外, AutoFilter
方法中沒有參數Criteria
。 這是Criteria1
和任選的另一種參數Criteria2
(其他城市Criteria
,以Criteria1
,在代碼中的其他地方)。
使用Selection
是危險的並且是錯誤的來源。 您應該嘗試在沒有Selection
內容的情況下重寫代碼。 請查看如何避免在Excel VBA宏中使用Select
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.