Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Autofilter

Autofilter
02.11.2006 10:20:11
Christian
Hallo,
ich habe ein Problem mit meinem Autofilter. Anbei erstmal der Quellcode:

Private Sub Beratung_Click()
Sheets("Januar A.R.").Range("1:1").Autofilter _
Field:=3, Criteria1:="Beratung", _
Operator:=xlAnd, _
Field:=21, Criteria1:="Firma xyz"
Worksheets("Januar A.R.").Rows("2:33").Copy
Worksheets("Übersicht").Range("A7").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("Januar A.R.").Range("1:1").Autofilter
End Sub


Private Sub Beratung2_Click()
Sheets("Januar R.S.").Range("1:1").Autofilter _
Field:=3, Criteria1:="Beratung", _
Field:=21, Criteria1:="Firma xyz"
Worksheets("Januar R.S.").Rows("2:33").Copy
Worksheets("Übersicht").Range("A38").PasteSpecial xlPasteValues
Application.CutCopyMode = False
Worksheets("Januar R.S.").Range("1:1").Autofilter
End Sub

1. Problem:
Der Filter wird zwar aktiviert, aber beide Kriterien ("Beratung, Firma xyz) ziehen nicht. Ich weiss allerdings nicht warum, da der Code eigentlich stimmen sollte.
2. Problem:
Ich möchte damit 2 verschiedene Tabellen nach ein und denselben Kriterien filtern und diese Daten dann in einem neuen Sheet (in einem bestimmten Bereich) zusammenführen. Wir ihr seht versuch ich's im Moment ziemlich stümperhaft, indem ich die Werte der erste Tabelle ab Zeile 7 und die der zweiten Tabelle ab Zelle38 einfüge....dann hab ich allerdings oft ne Riesenlücke. Schöner wär es wenn Exel mir die Daten in die nächste freie Zeile kopiert...leider weiss ich nicht wie das geht. Hat jemand von euch eine Idee?
Gruss,
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter
02.11.2006 12:29:06
fcs
Hallo Christian,
die Kriterien für die Autofilter können nur gesetzt werden, wenn der Autofilter aktiv ist (Dropdownpfeile sichtbar).
Ich hab deine Makros angepasst, so dass zunächst geprüft wird, ob der Autofilter aktiv ist. Falls nein wird er aktiviert.
Zur Vereinfachung hab ich die Variable "Blatt" deklariert und die zu kopierenden Zeilen und die nächste leere Zeile in der Übersicht werden berechnet.
Gruss
Franz

Private Sub Beratung_Click()
Dim Blatt As Worksheet
Set Blatt = Sheets("Januar A.R.")
If Blatt.AutoFilterMode = False Then
Blatt.UsedRange.AutoFilter
End If
Blatt.Range("1:1").AutoFilter _
Field:=3, Criteria1:="Beratung", _
Operator:=xlAnd, _
Field:=21, Criteria1:="Firma xyz"
Blatt.Rows("2:" & Blatt.Cells.SpecialCells(xlCellTypeLastCell).Row).Copy
With Worksheets("Übersicht")
letzteZeile = .Cells(.Rows.Count, "C").End(xlUp).Row 'ggf. auf = 6 setzen
.Range("A" & letzteZeile + 1).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
Blatt.UsedRange.AutoFilter
End Sub
Private Sub Beratung2_Click()
Dim Blatt As Worksheet, letzteZeile As Long
Set Blatt = Sheets("Januar R.S.")
If Blatt.AutoFilterMode = False Then
Blatt.UsedRange.AutoFilter
End If
Blatt.Range("1:1").AutoFilter _
Field:=3, Criteria1:="Beratung", _
Operator:=xlAnd, _
Field:=21, Criteria1:="Firma xyz"
Blatt.Rows("2:" & Blatt.Cells.SpecialCells(xlCellTypeLastCell).Row).Copy
With Worksheets("Übersicht")
letzteZeile = .Cells(.Rows.Count, "C").End(xlUp).Row
.Range("A" & letzteZeile + 1).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
Blatt.UsedRange.AutoFilter
End Sub

Anzeige
AW: Autofilter
09.11.2006 10:39:12
Christian
Hallo Franz,
vielen Dank erstmal. Siehtr gut aus, nur ist die Variable LetzteZeile nicht definiert und VBA zieht mir deswegen nicht? Als was muss ich diese deklarieren? Integer? ich versteh das mit dem deklarieren sowieso nicht (also wann ich was nehmen muss)...
gruss, christian
AW: Autofilter
09.11.2006 10:43:05
Reinhard
Hi Christian,
nimm bei Zeilen (1-65536 möglich) immer Long, bei Spalten (1-256 möglich) immer Integer.
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Autofilter
09.11.2006 11:05:23
Christian
Hallo Reinhard,
klappt leider immer noch nicht. Anbei mal der Code, vielleicht fällt dir was auf:

Private Sub Beratung_Click()
Dim Blatt As Worksheet
Dim letzeZeile As Long
Set Blatt = Sheets("Januar A.R.")
If Blatt.AutoFilterMode = False Then
Blatt.UsedRange.Autofilter
End If
Blatt.Range("1:1").Autofilter _
Field:=2, Criteria1:="Beratung", _
Operator:=xlAnd, _
Field:=11, Criteria1:="Rhenus AG & Co. KG"
Blatt.Rows("2:" & Blatt.Cells.SpecialCells(xlCellTypeLastCell).Row).Copy
With Worksheets("Übersicht")
letzteZeile = .Cells(.Rows.Count, "c").End(xlUp).Row
.Range("A" & letzteZeile + 1).PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
Blatt.UsedRange.Autofilter
End Sub

Exel meckert immer bei letzteZeile und sagt die Variable sei nicht definiert? ich möchte Daten aus 2 Tabellen nach 2 kriterien selektieren und in einen Zusammenzug kopieren. Dabei wäre es praktisch wenn Exel die Daten autmatisch in die erste freie Zeile kopiert.
gruss, christian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige