Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Datum nicht ausgeben, wenn älter als...

Forumthread: VBA - Datum nicht ausgeben, wenn älter als...

VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 13:52:59
Christian
Hallo,

ich bitte um eure Hilfe,
habe in meinem VBA Code folgende soweit funktionierende Zeile



.Columns(6).FormulaLocal = "=WENN(XVERWEIS(D2;Leute!B$2:B$" & LetzteL & ";Leute!D$2:D$" & LetzteL & ";"""";0;1)="""";"""";XVERWEIS(D2;Leute!B$2:B$" & LetzteL & ";Leute!D$2:D$" & LetzteL & ";"""";0;1))"


Diese Formel gibt Geburtsdaten von Personen aus, die wie ihr euch sicher schon denken könnt in Spalte D der Tabelle Leute stehen.
Kann ich das irgendwie so hinbekommen, dass nur Geburtdaten von Personen ausgegeben werden, die letzten Montag jünger als 30 Jahre alt waren?
Ich meine damit jetzt nicht prüfen ob nach dem 20.05.1994 geboren, sondern so dass sich das jeden Montag automatisch anpasst?

Hat da jemand eine Lösung?

Danke
Christian
Anzeige

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 14:13:52
Onur
Ja - poste eine Datei.
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 14:46:16
schauan
Hallöchen,
Mal ohne Datei ins Blaue geraten - nimm die Filterfunktion.
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 15:55:55
daniel
HI

nach dem Prinzip:

=Let(A;XVerweis(...);B;Heute()-Wochentag(Heute();3);Wenn(A="";"";Wenn(DateDif(A;B;"Y")30;A;"")))


Gruß Daniel
Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 16:44:50
Christian
Hallo Onur,

dass das auch ohne VBA geht, streite ich ja auch erst gar nicht ab.
Das Ganze ist Teil ist eines viel größeren Makros, dass alles mit einem Knopfdruck aktualisiert.

z.B. alle weiteren Makros starten, alle PQ Abfragen aktualisieren, runterladen neuer CSV Dateien als Datenquelle, Formatierungen an die neuen Daten anpassen, und eben auch Neuberechnung aller Formeln.

Letzteres mache ich, weil die Berechnung mehrere Minuten dauert und sich die Formelergebnisse sowieso nur dann ändern, wenn neue Daten aus der Datenquelle vorliegen.
Ja ich weiß ich könnte auch die Formelberechnung abschalten und bei Bedarf wieder an, bin ich aber irgendwie zu faul für.

Deshalb mache ich in dieser Mappe auch die Formelberechnung mit VBA.
In allen anderen Mappen mache ich das mit herkömmlichen Formeln.

Gruß
Christian
Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 17:33:34
Onur
Dann nimm meine Formel(n) und setze sie halt mit VBA ein.
Da das Arrayformeln sind, brauchst du sie nur je 1x einzusetzen, statt immer die ganze Spalte runter.
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 18:20:20
Eifeljoi 5
Hallo

Ich sehe weder Formeln noch PQ Ansätze!
Im Normalfall braucht man kein VBA und fast keine Registerformeln, wenn man PQ beherrscht.
Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 23:45:57
Christian
Hallo Eifeljoi,

gut meine PQ Kenntnisse sind eher Anfängerniveau. Jedenfalls kann ich eines sagen, das Blatt Ergebnis hat seinerzeit als PQ noch recht neu war, Günter mal versucht, in eine PQ Abfrage umzuwandeln und ist dann zu dem Schluss gekommen, das doch nicht alles geht.

In diesem Fall Rang Formel mit variablem Bezug a la =RANG(A1;A$1:A1;0) dieser besondere Bezug ist so gewollt und stellt die wahrscheinlich wichtigste Berechnung meiner ganzen Tabelle dar, das hat bis heute noch niemand geschafft, mir eine entsprechende PQ Lösung zu geben.

Zur kurzen Erläuterung, =RANG(A1;A:A;0) berechnet den Rang bezogen auf eine ganze Spalte.

=RANG(A1;A$1:A1;0) berechnet in meinem Fall, wenn ich die Tabelle nach A sortiere, den Rang den A1 zum Zeitpunkt A1 hatte.
Das ist der kleine aber feine Unterschied, der mich für meine Auswertungen interessiert.

Gruß
Christian
Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 16:03:50
Christian
Hallo Daniel,

irgendwie ist mir die Formel von dir zu kompliziert, um sie komplett zu verstehen. Sorry

Aber was ich verstehe ist

=HEUTE()-WOCHENTAG(HEUTE();3)

gibt das Datum vom letzten Montag aus,

mit

=EDATUM(HEUTE()-WOCHENTAG(HEUTE();3);-360)


ziehe ich 30 Jahre davon ab.

Damit habe ich, wenn ich das richtig verstehe mit

=WENN(XVERWEIS(D2;Leute!B:B;Leute!D:D;"";0;1)


die Formel die ich haben wollte.

Die alte Formel hatte noch eine Prüfung, ob gleich leer. Aber bin grad am überlegen ob ich das überhaupt noch brauche.

Ich schaue mal ob ich damit weiterkomme.

DAnke
Christian
Anzeige
und warum
21.05.2024 16:04:55
Christian
das Forum bei der 3. Formel ab dem kleiner Zeichen die Formel abgeschnitten hat weiß ich nicht
AW: und warum
21.05.2024 16:15:03
daniel
du kannst deinen Text hier mit HTML-Tags formatieren.
HTML-Tags stehen innerhalb von "&lt...&gt"
deswegen kommt die Forensoftware manchmal durcheinander wenn man diese Zeichen verwendet.
um Größer- und Kleiner- korrekt anzeigen zu lassen, gib die Zeichenfolge (ohne Unterstrich) "&_g_t" bzw "&_l_t" an.

Gruß Daniel
Anzeige
AW: und warum
21.05.2024 16:40:01
Christian
danke für die Info. Dein Formelvorschlag funktioniert einwandfrei
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 15:05:32
Christian
Hallo Schauan,

das war leider nicht mein Anliegen, ich wollte ja nicht filtern, ich wollte, dass anstatt dem Datum "" ausgegeben wird.

Gruß
Christian
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 15:45:05
schauan
Hallöchen,

mit der Funktion Filter kannst Du anhand des Datums eine Liste der Namen ohne Datum usw. ausgeben. Könnte ja sein, dass es mehrerere :-) sind.


Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 15:58:30
Christian
bevor wir hier noch weiter aneinander vorbeireden.

Ich suche eine Formel ähnlich wie

=WENN(XVERWEIS(D2;Leute!B:B;Leute!D:D;"";0;1)

Ich weiß nur nicht, wie ich Heute() durch das Datum von letzten Montag ersetzen soll, damit nicht heute vor 30 Jahren der Stichtag ist, sondern letzten Montag vor 30 Jahren.
Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 14:28:43
Christian
Hallo Onur,

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

irgendwie habe ich das Gefühl, dass das Erstellen der Bsp Datei mehr Zeit gekostet hat, als wenn du ins Blaue hinein geantwortet hättest.
Die Originaldatei ist zu groß und umfangreich, um sie hier zu posten.

Jedenfalls kurz und schmerzlos. Wenn ich das in der Datei vorhandene Makro ausführe, soll das Datum in Ergebnis!F2 nicht mehr angezeigt werden, da das Datum letzten Montag 30 oder mehr Jahre zurücklag.

Und natürlich weiß ich dass das auch ohne VBA geht, würde aber gerne in diesem Fall bei VBA bleiben.

Gruß
Christian
Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 15:19:30
Onur
"irgendwie habe ich das Gefühl, dass das Erstellen der Bsp Datei mehr Zeit gekostet hat, als wenn du ins Blaue hinein geantwortet hättest. "
Ins Blaue hinein zu raten bringt nicht viel - man muss die Formeln auch TESTEN können.
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 15:52:07
Onur
Eins verstehe ich nicht: Wie kann denn die Ergebnisliste mehr Datensätze haben als die "Leute"-Liste ?
Anzeige
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 15:55:46
Onur
Bitte ignorieren - war Quatsch.
AW: VBA - Datum nicht ausgeben, wenn älter als...
21.05.2024 23:37:50
Christian
kein Problem, mit der Bsp Datei gebe ich dir trotzdem recht

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige