Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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
Inhaltsverzeichnis

Autofilter nach Zellwert Datum setzen

Autofilter nach Zellwert Datum setzen
13.01.2017 16:55:53
Mike
Hallo, da ihr mir so prima geholfen habt, denke ich ihr habt für mein kleines Problem eine Lösung? Ich habe schon ziemlich viel probiert, bekomme es aber nicht hin:
Auf Blatt "Auswertung" Cells(20,30) steht die Zahl 2014 (als Datum)Zwei Zellen daneben steht "avi". Jetzt möchte ich nach diesen beiden Zellwerten auf sagen wir mal Blatt "Neu" einen Autofilter per VBA setzen. Hier mein Code:
Option Explicit
Sub Makro1()
Dim Kriterium1$, Kriterium2$
Kriterium1 = Sheets("Auswertung").Cells(20, 30)
Kriterium2 = Sheets("Auswertung").Cells(20, 32)
Selection.AutoFilter Field:=3, Criteria1:=Kriterium1
Selection.AutoFilter Field:=6, Criteria1:=Kriterium2
End 

Sub
Es werden auch die richtigen Spalten gefiltert, allerdings keine Werte aus dem Jahr 2014  _
ausgegeben. Halte ich jetzt den Mauszeiger über das kleine Filtersymbol in Spalte C, steht dort  _
"alles aus 2014". (In Spalte C stehen Werte als Datum im Format 1.1.2014) Manuell kann ich den Filter setzen, funktioniert und den Haken bei 2014 als Filter anklicken. Dann steht allerdings, wenn man wieder mit der Maus drüber geht. " ist gleich alles aus 2014".
Was mache ich falsch? Über einen Tip oder eine Lösung wäre ich euch sehr dankbar.
Gruß
Mike


		

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter nach Zellwert Datum setzen
14.01.2017 11:01:04
Tino
Hallo,
vielleicht würde ich es so versuchen.
Sub Test()
Dim Kriterium1 As Long, Kriterium2 As Long, Kriterium3
With Sheets("Auswertung")
'von 1.1.Jahr
Kriterium1 = DateSerial(Year(.Cells(20, 30)), 1, 1)
'bis 31.12.Jahr
Kriterium2 = DateSerial(Year(Kriterium1), 12, 31)
Kriterium3 = .Cells(20, 32)
End With
With Sheets("Neu")
If .AutoFilterMode Then
If .FilterMode Then .ShowAllData
.AutoFilter.Range.AutoFilter Field:=3, Criteria1:= _
">=" & Kriterium1, Operator:=xlAnd, Criteria2:="
Gruß Tino
AW: Autofilter nach Zellwert Datum setzen
16.01.2017 09:49:26
Mike
Hallo, und danke für den Code. Funktioniert leider nicht. In der Zelle AD20 (sheet "Auswertung) steht einfach nur 2015 als Jahreszahl. Verschiedene Formatierungen habe ich schon probiert.
Dein Code spuckt jetzt folgendes als Autofilter aus: "größer oder gleich "1.1.1905" und kleiner oder gleich "31.12.1905"
Hat sonst noch wer eine zündende Idee?
Vielen Dank im Vorraus!
Gruß
Mike
Anzeige
Cells(20,30) muss Datum sein!
16.01.2017 13:09:22
Tino
Hallo,
Du hast geschrieben "Cells(20,30) steht die Zahl 2014 (als Datum)"
Zu beachten das in dieser Zelle auch ein Datum steht, Format der Zelle ist egal nur kein Text!
Evtl. hilft eine Beispieldatei von dir!
Gruß Tino
AW: Autofilter nach Zellwert Datum setzen
16.01.2017 12:34:36
Mike
Hallo, da bin ich wieder. Nochmals danke für den Code. Bin etwas weiter gekommen. Ich habe mir im Sheet "Auswertung" eine "Hilfzelle" gebaut, mit folgender Formel:=DATUM(AD20;1;1) Somit wird mir jetzt in Bezug auf die Zelle AD20 ein Datum angezeigt. Jetzt steht es mit deinem Code auch richtig im Filter. Nur es wird nichts ausgegeben. Wenn ich den Filter aufklappe und noch ein Häkchen beim Jahr setze funktioniert es.
Zweites Problem: mit "Sheets(Sheets("Auswertung").Range("N10").Value).Select" springe ich zu einem anderen Tabellenblatt, dort soll der Autofilter gesetzt werden, der Code setzt den Autofilter nicht alleine, ich muss erst noch einmal auf Daten filtern klicken. Was mache ich nur falsch?
Danke für die Hilfe!
Gruß
Mike
Anzeige
AW: Autofilter nach Zellwert Datum setzen
16.01.2017 13:27:06
Mike
Hallo Tino, danke für deine Hilfe!
Den ersten Fehler habe ich gefunden, war zu blöd zu kopieren. Sorry. Funktioniert jetzt BESTENS!! Danke.
NUr das zweite Problem, dass der Autofilter nicht "alleine" anspringt hab ich noch nicht lösen können.Hier mein fertiger Code:
Sub Test()
Sheets(Sheets("Auswertung").Range("N10").Value).Select
Range("C2").Select
Dim Kriterium1 As Long, Kriterium2 As Long, Kriterium3
With Sheets("Auswertung")
Kriterium1 = DateSerial(Year(.Cells(11, 30)), 1, 1)
Kriterium2 = DateSerial(Year(Kriterium1), 12, 31)
Kriterium3 = Sheets("Auswertung").Cells(20, 32)
End With
'Selection.AutoFilter Field:=3, Criteria1:=Kriterium1, Operator:=xlAnd, Criteria2:=Kriterium2
'Selection.AutoFilter Field:=6, Criteria1:=Kriterium3
With Sheets(Sheets("Auswertung").Range("N10").Value)
If .AutoFilterMode Then
If .FilterMode Then .ShowAllData
.AutoFilter.Range.AutoFilter Field:=3, Criteria1:= _
">=" & Kriterium1, Operator:=xlAnd, Criteria2:=" .AutoFilter.Range.AutoFilter Field:=6, Criteria1:=Kriterium3
End If
End With
Danke für die HIlfe!
Gruß
Mike
Anzeige
AW: Autofilter nach Zellwert Datum setzen
16.01.2017 13:34:08
Tino
Hallo,
evtl. geht es so. (nicht getestet)
Bereich Filter musst Du anpassen!
With Sheets("Auswertung")
Kriterium1 = DateSerial(Year(.Cells(11, 30)), 1, 1)
Kriterium2 = DateSerial(Year(Kriterium1), 12, 31)
Kriterium3 = Sheets("Auswertung").Cells(20, 32)
End With
'Selection.AutoFilter Field:=3, Criteria1:=Kriterium1, Operator:=xlAnd, Criteria2:=Kriterium2
'Selection.AutoFilter Field:=6, Criteria1:=Kriterium3
With Sheets(Sheets("Auswertung").Range("N10").Value)
If Not .AutoFilterMode Then
.Range("A1:Z1").AutoFilter 'Bereich Filter
End If
If .FilterMode Then .ShowAllData
.AutoFilter.Range.AutoFilter Field:=3, Criteria1:= _
">=" & Kriterium1, Operator:=xlAnd, Criteria2:="

Anzeige
AW: Autofilter nach Zellwert Datum setzen
16.01.2017 16:54:18
Mike
Hallo Tino danke für deine Unterstützung. Ein prima Forum hier. Habe das mit einer Zeile Code am Anfang gelöst: Selection.AutoFilter.
Danke dir nochmals!
Gruß
Mike

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige