Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1560to1564
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 mit Datumseingabe / Pulldown

Autofilter mit Datumseingabe / Pulldown
08.06.2017 11:19:57
Carsten
Hallo zusammen,
bisher konnte ich meine Probleme mit den bisherigen Post lösen.
Diesmal muss ich mich direkt an euch wenden.
Folgende Voraussetzung: Der File hat 5 Blätter. Es geht um Blatt 1 und 3
zuerst Blatt 3 : dort gibt es eine Datumsauflistung in Spalte A, 01.06.2017-31.12.2019
dann Blatt 1 : die Daten beginnen im Zeile 11 (A-X). Immer eine Hilfszeile, gefolgt von 11 identischen Datumszeilen (und das für jeden Tag = 11338 Zeilen) in Spalte A.
Spalte B trägt im Falle eines Eintrags eine fortlaufende Auftragsnummer. die nur sichtbarwird und weiterzählt, wenn in Spalte C geschrieben wird.
Das sieht dann etwa so aus :
col 0
01.06.2017 1 blabla
01.06.2017 2 blablabla
..
01.06.2017
col 2
02.06.2017 (usw)
In Zelle E3 ist ein Pulldown, das den Datumsbereich in Blatt 2 erfasst.
der Bereich A10:B11339 wurde als Filtern/erweitert/Listenbereich erfasst.
Das Script, das im hintergrund läuft sieht derzeit so aus:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Calculate
Sheets("Tätigkeitserfassung").Select
ActiveSheet.Unprotect Password:=""
Set Bereich = Range("$E$3")
If Not Intersect(Target, Bereich) Is Nothing Then
Selection.AutoFilter Field:=1, Criteria1:=Range("$E$3").Value, VisibleDropDown:=False
Selection.AutoFilter Field:=2, VisibleDropDown:=False 'fortlaufende Auftragsnummern
End If
Sheets("Tätigkeitserfassung").Select
'    ActiveSheet.Protect Password:="", DrawingObjects:=False, Contents:=True, Scenarios:=False,  _
_
AllowSorting:=True, AllowFiltering:=True
'    ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

In der 2003er Version hat das noch funktioniert. Es wurden nur die 11 Zeilen des eingestellten Datums angezeigt.
In der 2010er Version filtert er nicht mehr, sondern lässt die Zeilen 11 bis 11339 ausgeblendet. Ich hab sie mal noch nicht hochgeladen, da sie ca. 4,5MB hat.
Hat jemand eine Idee dazu ?
Beste Grüße
C.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter mit Datumseingabe / Pulldown
08.06.2017 12:50:03
MCO
Hi!
Versuch mal, statt "Selection.autofilter" wirklich ein Range-Objekt anzugeben, also Range("a5:F11338")
Ich vermute, die Selection ist einfach zu gering, undefiniert oder zu groß
Gruß, MCO
AW: Autofilter mit Datumseingabe / Pulldown
08.06.2017 21:00:27
Carsten
Hallo,
das hatte ich berits versucht.
nachdem ich den Zugriff auf Selection nicht eindeutig verstand, habe ich im VBA darauf zugegriffen und mir die Selection auflisten lassen. Und zwar so :
    If Not Intersect(Target, Bereich) Is Nothing Then
zeile = Selection.Row
spalte = Selection.Column
Debug.Print spalte; zeile
Range("a10:B11338").AutoFilter Field:=1, Criteria1:=Range("$E$3").Value,  _
VisibleDropDown:=False
Selection.AutoFilter Field:=2, VisibleDropDown:=False
End If
Das Ergebnis war Zeile 3 Reihe 5 (=E3)
Die Range direkt einzutragen hatte das selbe Ergebnis zur Folge. Keine Auflistung des ausgewählten Datums.
Gruß C.
Anzeige
AW: Autofilter mit Datumseingabe / Pulldown
12.06.2017 07:41:28
MCO
Guten Morgen!
Ich hätte da gleich mehrere Vorschläge für dich:
a) Autofilter
Mit der Kategorisierung des Autofilters wird das Datum in Deinem Fall nur noch im englischen Format gefiltert ("8/9/17") Natürlich gibt es das in deiner Datumsliste nicht, also: kein Wert.
Das hättest du bemerkt, wenn nicht die Dropdowns ausgeschaltet gewesen wären und du den Wert von hand nachvollzogen hättest.
Das Datum wird jetzt als Array angegeben, als wenn du es in dem Dropdownfeld anklicken würdest.
Außerdem hab ich den Bereich des Filters grundsätzlich vorgegeben´, obwohl mir in deinem Fall da keine Fehlerquelle aufgefallen ist. Es wird aber E3 immer selectiert und mit selection gefiltert, obwohl dort kein Tabellenbereich ist.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, filt_rng As Range
Calculate
'Sheets("Tätigkeitserfassung").Select 'unnötig, du bist doch schon in dem sheet!
With Sheets("Tätigkeitserfassung") 'alles mit einem "." vor dem Begriff bezieht sich auf  _
diesen Eintrag
.Unprotect Password:=""
Set Bereich = Range("$E$3")
Set filt_rng = Range("A10").CurrentRegion
If Not Intersect(Target, Bereich) Is Nothing Then
filt_rng.AutoFilter Field:=1, Criteria1:=Array(CStr(Bereich.Value)),  _
VisibleDropDown:=False
filt_rng.AutoFilter Field:=2, VisibleDropDown:=False
End If
.Protect Password:="", DrawingObjects:=False, Contents:=True, Scenarios:=False,  _
AllowSorting:=True, AllowFiltering:=True
.EnableSelection = xlUnlockedCells
End With
End Sub
b)Es war zwar nicht Teil der Aufgabenstellung, aber in "Bezugstabelle" kannst du für die _ Monatsangabe in "B4" besser eine kurze Formel verwenden statt eine Kombination von 3 Formeln. Nimm dort

=MONATSENDE(A4;-1)+1
c) Der ganze Teil bei Worksheet_Activate ist Unsinn. Das sieht man schon daran, dass Bereich und Target den gleichen Bezug haben, anschließen in Intersect aber verglichen werden. Danach filterst du aber wieder mit dem Adress-Bereich. Kann einfach wegbleiben.
Viel Erfolg beim Anwenden!
Gruß, MCO
Anzeige
AW: Autofilter mit Datumseingabe / Pulldown
12.06.2017 19:49:05
Carsten
Hallo MCO,
bei Punkt c muss ich dir recht geben.
Ich hab die Geschichte heute nacht gelöst. Und das in 2 Beziehungen:
Bleibe ich bei der Variante bzw. nutze Arrays, ist die Datei nicht mit Sicherheit kompatibel zu anderen Versionen.
gelöst habe ich das Probroblem über eine Hilfsspalte, der eine "1" neben dem Entsprechenden Datum erscheint. Die verschiedenen Excel-Versionen können sich bei der Filterung per Datum schnell mal verschlucken. So schlage ich 2 fliegen mit einer Klappe und es bleibt schnell.
Vielen Dank für deine Mühe
Gruß Carsten

154 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige