Microsoft Excel

Herbers Excel/VBA-Archiv

Terminieren

Betrifft: Terminieren von: Mike
Geschrieben am: 31.10.2020 20:05:32

Hallo Community,

Ich bin neu hier und wollte mich kurz vorstellen. Mein Name ist Mike. Einen herzlichen Gruß an alle User hier. Meine Bitte wäre nach langem suchen habe ich ein Makro gefunden das in den Anfängen meine Wünsche erfüllt.

Die Vorstellung wäre die eingetragenen Datensätze in den verschiedenen Tabellenblättern mittels Datum zu filtern. Bsp. Wenn ich das Datum in die Zelle (B3/Übersichtsblatt) schreibe, zeigt er mir in einem Tabellenblatt (Übersicht) alle gefundenen Einträge.

https://www.herber.de/bbs/user/141208.xlsm

Betrifft: AW: Terminieren
von: onur
Geschrieben am: 31.10.2020 20:48:55

In B3 steht kein Datum, sondern W 37123 !

Betrifft: AW: Terminieren
von: Mike
Geschrieben am: 31.10.2020 21:43:07

Hallo, onur.



Vielen Dank erstmal für die Unterstützung.



Im Tabellenblatt (Übersicht) "B2" kannst du im Dropdown auswählen nach welcher Spalte du suchst, im gleichen Blatt nach was du in der Spalte suchst "B3", in meinem Fall wäre das ein Datum. Nach dem Ausführen des Makros bleibt es im falle mit der Datumssuche leer.







LG Mike

Betrifft: AW: Terminieren
von: ralf_b
Geschrieben am: 31.10.2020 20:49:35

Versuchs mal damit. Du weist sicher wie du das einfügst.
   
Dim fCriteria as String

If IsDate(SHUebers.Range("B3")) Then
   fCriteria = DateSerial(Year(SHUebers.Range("B3")), Month(SHUebers.Range("B3")), _ 
              Day(SHUebers.Range("B3"))
Else
   fCriteria = SHUebers.Range("B3")
End If
'  rBereich.AutoFilter LCol, SHUebers.Range("B3"), , , False
   rBereich.AutoFilter LCol, fCriteria, , , False



Betrifft: AW: Terminieren
von: Mike
Geschrieben am: 31.10.2020 21:52:14

Hallo, ralf_b!
Auch dir vielen Dank.
Vielleicht könntest du mir doch etwas Starhilfe geben diesbezüglich.

LG Mike

Betrifft: AW: Terminieren
von: ralf_b
Geschrieben am: 01.11.2020 01:27:54

naja dann eben so

https://www.herber.de/bbs/user/141210.xlsm

Betrifft: AW: Terminieren
von: Mike
Geschrieben am: 01.11.2020 07:29:35

Hallo, ralf_b!



Vielen Dank funktioniert so wie ich mir das vorstelle.



Ich habe eine neue Datei erstellt und zu füttern begonnen, einzig die Namen der Tabellenblätter sind jetzt anders. Wenn ich den einzelnen Tabellenblättern die Überschriftszeile hinzufüge, zeigt er mir alle Einträge doppelt, obwohl in dem Blatt kein Datum steht oder diese Einträge stehen. Umgekehrt, wenn Datum vorhanden und keine Überschriftszeile findet er auch den Eintrag nicht. Für mich als Laien irgendwie unverständlich. Könntest du mir bitte noch einmal aus der Misere helfen?



Vielen Dank im Voraus.



LG Mike.



https://www.herber.de/bbs/user/141212.xlsm

Betrifft: AW: Terminieren
von: ralf_b
Geschrieben am: 01.11.2020 11:18:58

1. Du hast auch Blätter mit anderen Namen als diese Nummern hinzugefügt.
Es werden alle Blätter außer "Übersicht" durchsucht und gefiltert. Es schien mir einfacher als zig Blätter aufzulisten und in ein Array zu schreiben. Nun hast du scheinbar noch weitere Blätter, die nicht gefiltert werden sollen. Könnte ein Problem werden.

Ich habe den Code kommentiert. Und set Filterrange = nothing müßtest du in deine Originaltabelle einfügen. Damit wird Filterrange für den neuen Schleifendurchgang vorbereitet. Dann verschwinden auxh die Doppelungen.

https://www.herber.de/bbs/user/141221.xlsm

Betrifft: korrektur
von: ralf_b
Geschrieben am: 01.11.2020 11:20:30

Zitat: ...müßtest du in deine Originaltabelle einfügen."

Natürlich in den Code, nicht in die Tabelle.

Betrifft: AW: korrektur
von: Mike
Geschrieben am: 01.11.2020 19:35:23

Hallo, ralf_b!

Ich habe jetzt alle Bennunungen der Tabellenblätter in den Code geschrieben.

In die Zeile die du mir kommentiert hast. "Set Filterrange = Nothing" hab ich so um geschrieben. Set FilterRange = Array("400....", "411....", "412....", usw).

So sieht die lange zeile aus. Beim ausführen vom Code kommt die Fehlermeldung Laufzeitfehler '424'

Objekt erforderlich.

Danke für die Geduld!

LG Mike

Betrifft: AW: korrektur
von: ralf_b
Geschrieben am: 01.11.2020 21:29:13

und wozu soll dein Anpassung gut sein? Verstehst du was du da tust?

Einmal noch versuche ich noch dir zu helfen.

In Filterrange sind deine gefilterten Daten. Nach kopieren sollte Filterrange wieder leer gemacht oder zerstört werden. Sonst stehen die Daten beim nächsten Durchgang noch drin.

Das Array strSHAr in dem deine Blattnamen gestanden haben ist nur für den Schleifendurchlauf der for schleife zuständig. Und zum einmaligen Zuweisen des aktuellen Blattes zur Variable meSH.
Im Glauben das du dir bisschen Arbeit sparen möchtest hatte ich den Schleifendurchlauf umgebaut.

strSHAr und Filterrange sind zwei völlig verschiedene Dinge

Sorry, aber wer nicht will, der hat schon.




Betrifft: AW: korrektur
von: Mike
Geschrieben am: 01.11.2020 21:39:47

Hallo, ralf_b!
Jetzt hat es geklappt vielen Dank für deine Mühe.
Danke für deine Geduld!
LG Mike

Betrifft: danke für die Rückmeldung owt
von: ralf_b
Geschrieben am: 01.11.2020 21:52:25