簡體   English   中英

自動過濾器根據2個標准復制並粘貼到不同的工作表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM