Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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

VBA Macro: String aus Zelle für Autofilter auf X Seiten

VBA Macro: String aus Zelle für Autofilter auf X Seiten
08.02.2024 12:24:14
DocHandsome
Hallo Zusammen,
bevor ich meine Frage Stelle möchte ich mich kurz vorstellen. Ich bin 56 Jahre, komme aus der Nähe von Koblenz und Arbeite im privaten sowie beruflichem mit Excel und Excel Analysen.

Jetzt habe ich kleines Auswerteproblem. Ich habe ein Excelsheet welchen über direkte Anbindung am meine Datenbanken immer wieder mit den aktuellen Werten der letzten 3 Monate gefüllt wird. Dazu habe ich auf der Datenbank VIEWS erstellt, die dann über eine direkte Abfrage in Excel importiert werden.

Es werden mehrere Abfragen durchgeführt, die alle auf eine separate Excel Seite importiert werden und dann gemeinsam auf einer "Hauptseite" ausgewertet werden.

In jeder der Datenbank Tabellen ist ein gemeinsamen Feld (Datum) integriert. Die Daten werden immer auf Tagesbasis (auch x-verschiedene Werte / Tag) ausgegeben (also 1-n). Auf jeder der Excel Seiten wir schon eine Vorselektion der Daten (Summenwerte) über TeilErgebnis Abfragen mit Autofilter durchgeführt.

Aber wenn ich jetzt z.B. eine Monatsauswertung machen möchte so muss ich in allen Seiten jeweils den "Datums Range" setzen, z.B. 2024-01.
Das Datumsfeld wird in JJJJ-MM-TT ausgegeben. => somit erzeugt die Abfrage "Enthält" 2024-01" jeweils den ganzen Monat.

Momentan ist das Feld Datum beim Import noch als "Standard" definiert und wird im Import als "TEXT" interpretiert. Daher ist die Selektion "2024-01" einfach möglich.

Jetzt möchte ich gerne den Prozess über ein Makro steuern. Das heißt in ein Feld z.B. A1 gebe ich meinen Datumsstring 2024-01 ein und möchte dann auf allen Seiten den Autofilter damit aktualisieren.

Ich habe schon ein ganz einfaches Makro für die Zellabfrage hinbekommen aber es funktioniert nur als "Gleich" und nicht als "Enthält".
Also bei meiner Abfrage muss der Gesamtwert der Zelle übereinstimmen wie z.B. 2024-01-05.
Wie kann ich den Wert in "A12" als "Enthält" ändern?

=============
Sub Makro1()
'
' Makro1 Makro
'
'
ActiveSheet.Range("$A$2:$E$8").AutoFilter Field:=1, Criteria1:=Range("A1").Value

End Sub
=============

Danke & Gruß
Doc.

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Macro: String aus Zelle für Autofilter auf X Seiten
08.02.2024 12:56:54
MCO
Das ist nicht so schwer wie du denkst:

ActiveSheet.Range("$A$2:$E$8").AutoFilter Field:=1, Criteria1:="*" & Range("A1").Value & "*"

Gruß, MCO
AW: VBA Macro: String aus Zelle für Autofilter auf X Seiten
08.02.2024 13:08:09
DocHandsome
Hallo MCO,
das ging ja flott :-) Hat einwandfrei funktioniert. Super.

Dann kommt direkt meine nächste Idee. Falls ich jetzt in Zukunft die Datums Felder als "Date" importiere, dann würde ich gerne eine Abfrage mit

VON Datum z.B. in A1 (volles Datum 2024-01-05) und BIS Datum => 2024-02-04 machen um auch Datumsbereich Analysen machen zu können.

PS: Ich weiß nicht ob ich für eine weitere Anfrage ein neues Thema erstellen soll? Falls ja, bitte ich um eine kurze Info.

Nochmals vielen Dank
Doc.
Anzeige
AW: VBA Macro: String aus Zelle für Autofilter auf X Seiten
08.02.2024 13:25:02
MCO
Hey, Doc!

Wie du dir denken kannst, kommst du mit deinem Datumsformat nicht weit, du musst es wieder in die Excel-übliche 5-stellige fortlaufende zahl wandeln.
Dann kannst du auch hiermit das Datum filtern.

Allerdings brauchst du nur 1 Wert, der 2te ergibt sich dann ja üblicherweise durch MONATSENDE (DeinDatum;0), der 2 Parameter lässt sogar mehrere Monate zu, im VBA heißt die function "worksheetfunction.EoMonth(DeinDatum,0))

unterwert =cdate(Monatserster)

oberwert = worksheetfunction.EoMonth(unterwert ,0))

ActiveSheet.Range("$A$2:$E$8")AutoFilter Field:=1, Criteria1:=">=" & CLng(unterwert), _
Operator:=xlAnd, _
Criteria2:="=" & CLng(oberwert)

Gruß, MCO
Anzeige
AW: VBA Macro: String aus Zelle für Autofilter auf X Seiten
08.02.2024 13:48:08
DocHandsome
OK, verstanden. Aber wenn ich jetzt wieder zwei Zellwerte als Datum VON und Datum BIS haben möchte?
In Zukunft will ich Jahresdaten importieren und dann Auswertungen von jeglichen Datumsbereichen durchführen können.

Danke für die schnelle Hilfe.
Gruß
Doc.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige