2016-11-07 1 views
-1

Also zuerst muss ich filtern, die ich habe bereits in den folgenden Code. Ich muss dann diese Daten auf die zweite Registerkarte übergehen. Dann muss ich die leeren Zeilen von Seite 1 löschen, so dass beim ungefilteren alles nach oben geht, so dass es keine Leerzeichen dazwischen gibt. Um die Firmeninformationen nicht aufzulisten, listet ich die Filterwerte als "S", "T", "U", "V", "W", "X", "Y", "Z" auf dass ich Firmeninformationen nicht auflisten werde. Ich muß Sheets (Active Brands „) platzieren Zelle A7Müssen gefiltert werden, kopiert gefiltert, fügen Sie auf der zweiten Registerkarte, und löschen Sie die leeren Zeilen jetzt auf der ersten Registerkarte in Excel Vba

Sheets("Active Brands").Select 
    ActiveSheet.Range("$A$6:$O$993").AutoFilter Field:=8, Criteria1:=Array(_ 
     "S","T","U", "V", "W", "X", "Y", "Z"), Operator:=xlFilterValues 

Antwort

1

bearbeitet Header Zeile überspringen

Versuchen Sie folgendes:

With Worksheets("sheetNameToFilterAndCopyFrom") 
    With .Range("$A$6:$O$993") 
     .AutoFilter Field:=8, Criteria1:=Array(_ 
    "S","T","U", "V", "W", "X", "Y", "Z"), Operator:=xlFilterValues 
     .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Copy Destination:=Worksheets("sheetNameToPasteTo").Range("A7")destination:=Worksheets("sheetNameToPasteTo").Range("A7") 
     .SpecialCells(xlCellTypeVisible).Delete 
    End With 
    .AutoFilterMode=False 
End With 

Hier müssen Sie "sheetNameToFilterAndCopyFrom" und "sheetNameToPasteTo" in Ihre tatsächlichen relevanten Arbeitsblattnamen ändern.

+0

Dies funktionierte wunderbar zum Filtern, Kopieren und Einfügen von Daten. Das eine Problem ist, dass es auch schneidet und fügt meine Header, die in Zeile 6 sind – Tribias

+0

Ich habe nur die 6 zu einer 7 in der Zeile mit .Range ("$ A $ 6: $ O $ 993") – Tribias

+0

Ein seltsames Schluckauf das hat ist, dass es den Inhalt, der auf Blatt 1 Zelle A7 sein sollte, auf Blatt 2 Zelle A7 verschiebt, obwohl es nicht die Kriterien für das Einfügen von Informationen in das zweite Blatt erfüllt. Irgendein Gedanke, warum das passieren könnte? – Tribias

-1

nicht sicher Ihre proble, aber wenn das Problem mit diesem Teil ist“ Dann muß ich die leeren Zeilen von Seite 1 so löschen, dass, wenn ich keine Filterung alles bewegt sich nach oben, so dass es keine Lücken dazwischen geben wird. "

dann verwenden Sie die folgende

Range("d3 or whatever your range is ").SpecialCells(xlCellTypeVisible).Delete 

* xlCellTypeVisible = u hier viele Option nutzen können. Wie xlcelltype Konstante usw. Gerade F1 und sehen Sie die Option

+1

Das ist ein Teil davon. Grundsätzlich bin ich nicht sicher, wie man die gefilterten Informationen von der ersten Registerkarte spezifisch kopiert und sie auf die 2. in VBA kopiert. – Tribias

+0

Notieren Sie die Aktion und sehen Sie, was Excel für Sie schreibt. ZB am oberen Ende der Datei 'shift' +' end' Taste, dann 'down arrow' wählt zur ersten Aufnahme. Drücken Sie also die 'Shift' +' Pfeiltaste' um die leeren Zellen auszuwählen, dann 'shift' +' end' dann 'Pfeil rechts', um alle Spalten auszuwählen. Dann ausschneiden, kopieren, einfügen. Um Alt + T, M, R aufzuzeichnen, wiederhole, um zu stoppen. Drücken Sie Alt + F11, um den Excel-Code zu sehen. –

Verwandte Themen