2017-06-26 2 views
1

Ich bin mir nicht sicher, wie man Autofilter dafür verwendet, aber ich erstelle ein neues Arbeitsblatt und ich versuche, ein anderes Blatt anhand von zwei Kriterien zu filtern. Ich muss dann die Werte von nur zwei der Spalten aus diesem Arbeitsblatt in das neue Arbeitsblatt kopieren. Dies ist der Code, den ich bisher habe:Autofilter zum Kopieren und Einfügen in ein anderes Blatt basierend auf 2 Kriterien

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 

Es hält mir einen Laufzeitfehler zu geben ‚1004‘. Weiß jemand was ich falsch mache oder könnte es mich in die richtige Richtung lenken?

Antwort

0
Selection.AutoFilter field:=21, Criteria:="<30%" & ">0" 

Die Art und Weise, dies zu tun ist durch zwei

Selection.AutoFilter field:=21, Criteria1:=">0", Operator=xlAnd, Criteria2 = "<0.3" 

Auch andere Kriterien mit xlAnd Betreiber setzen, gibt Criteria im AutoFilter Methode kein Parameter ist. Es ist Criteria1 und optional ein weiterer Parameter Criteria2 (ändern Sie Criteria zu Criteria1 an anderen Stellen in Ihrem Code).

Arbeiten mit Selection ist gefährlich und Quelle von Fehlern. Sie sollten wirklich versuchen, Ihren Code ohne die Selection Sachen neu zu schreiben. Werfen Sie einen Blick auf How to avoid using Select in Excel VBA macros

+1

Vielen Dank das half !! Ich habe es vermieden, select zu verwenden und habe die Änderungen, die du gesagt hast, gemacht! – newbie2vba

Verwandte Themen