Weiterverarbeitung von Autofilterdaten
#1
Hallo,

ich setze folgenden Code für die Weiterverarbeitung meines mit dem Autofilter gefundenen Daten ein:

Sheets("Tabelle1").Range("C2:C30000").AutoFilter 1, "*Bremsschläuche*"
Sheets("Tabelle1").Range("C2:C30000").SpecialCells(xlCellTypeConstants).Copy Sheets("Tabelle2").Cells(1, 1)
(Anmerkung: Ich fange bei C2 an, damit ich den Header nicht bei meiner Auswahl habe)

So weit, so gut, so unzureichend. Auch wenn ich damit wunderbar meine gefundenen Daten nach Tabelle2 kopieren kann, fehlt mir doch das entsprechende VBA
Wissen, für die von mir gewünschte Weiterverbeitung in VBA.

Deshalb jetzt gleich mal, meine erste Frage:
Die gefilterten Daten möchte ich gerne in ein Feld schreiben. Wie mache ich das?
Felddimensionierung, Aufnahme der Filterdaten etc.

Danke für eure Hilfe.
Top
#2
Hallo,

nur ein kleiner Tip:


Code:
with Sheets("Tabelle1").Range("C2:C30000")
    .AutoFilter 1, "*Bremsschläuche*"
    .copy sheets(2).cells(1,1)
end with

Üblicher wäre aber:


Code:
sub Test()
with sheets(1).currentregion
  .autofilter 3, "*Bremsschläuche*"
  .offset(1).copy sheets(2).cells(1)
end with
end sub


natürlich ungetesstet.

mfg
Top
#3
Hallöchen,

wenn Du Deine Daten auf dem Blatt in eine Tabelle wandelst, geht das im Prinzip so:

Code:
With Sheets("Bremsschläuche").ListObjects("Tabelle1")
        .Range.AutoFilter Field:=2, Criteria1:= "irgendwelche Schläuche :-)"
        .DataBodyRange.Columns("A:D").SpecialCells(xlCellTypeVisible).Copy
End With

Der Vorteil der Tabellen ist hier auch, dass Du Dir keine Gedanken machen musst, ob der Bereich groß genug gewählt ist. Die Tabelle zieht ja automatisch bei neuen Einträgen nach. Der Header spielt hier auch keine Rolle, weil Du den DataBodyRange nimmst.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste