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

Datum vom letzten Montag ausgeben

Datum vom letzten Montag ausgeben
12.11.2020 18:16:57
Christian
Hallo,
ich bitte um eure Hilfe.
einmal bei folgenden Formeln
=WAHL(MAX(MIN(4-(MAX(H2:I2)

wobei M1 = =DATUM(JAHR(HEUTE())-30;MONAT(HEUTE());1)
und einmal bei der Zeile aus einem VBA Code
url = "https://www.imdb.com/search/name/?birth_date=" & Year(Date) - 30 & "-" & Month(Date) & "-01," & Year(Date) - 18 & "-" & Month(Date) & "-01&gender=female&roles=" & ttNummer & "&has=birth-date&adult=include&sort=birth_date,asc&count=100&start=" & startListeAktuell
bislang wird an diesen Stellen der erste des aktuellen Monats vor 30 bzw. 18 Jahren ausgegeben, also aktuell der 1.11.1990 bzw. der 1.11.2002.
Wie bekomme ich es so geändert, dass stattdessen das Datum des letzten Montags und von da an 18 bzw. 30 Jahre zurück genommen wird, also aktuell der 9.11.1990 bzw. der 9.11.2002?
2 zusätzliche Sachen noch dazu?
1. war der letzte Montag reinzufällig der 29.2. gibt es rechnerisch ja keinen 29.2. vor 18 bzw. 30 Jahren, dann soll der 1.3. genommen werden
2. Wenn das ganze an einem Montag ausgeführt wird, soll das aktuelle Datum genommen werden.
Danke für eure Hilfe
Christian
Excel 2019, kein Office 365

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachtrag
12.11.2020 18:19:52
Christian
sorry jedesmal wenn ich die Wahl Formel versuche zu posten, wird sie abgeschnitten.
Sie ist aber denke ich auch nicht relevant für die Problemlösung, da außer dem Bezug auf M1 sie nichts mit dem gewünschten Datum zu tun hat.
AW: Nachtrag
13.11.2020 01:31:17
ralf_b
versuchs mal mit der wochentag-formel. die liefert dir je nach Einstellung eine Zahl und die kannst du dann von Heute abziehen, sodass du immer auf letzten Montag landest.
AW: Nachtrag
13.11.2020 06:29:18
Christian
Hallo Ralf,
meinst du eventuell
=DATUM(JAHR(HEUTE()+2-WOCHENTAG(HEUTE()))-30;MONAT(HEUTE()+2-WOCHENTAG(HEUTE()));TAG(HEUTE() +2-WOCHENTAG(HEUTE())))
?
Scheint zumindest so zu funktionieren. Danke.
Allerdings ist das Problem mit dem VBA Code noch nicht gelöst.
Gruß
Christian
Anzeige
AW: Nachtrag
13.11.2020 09:23:40
ralf_b
ich dachte an sowas

=HEUTE()-WAHL(WOCHENTAG(HEUTE();11);0;1;2;3;4;5;6)


Dim sday As String, birth_date as String
sday = Format(day(Date) - WorksheetFunction.Choose(WorksheetFunction.Weekday(Date, 11) _
, 0, 1, _
2, 3, 4, 5, 6), "00")
 birth_date = Format(DateSerial(Year(Date) - 30, Month(Date), sday), "yyyy-mm- _
dd") &   _
Format(DateSerial(Year(Date) - 18, Month(Date), sday), "yyyy-mm-dd")
url = "https://www.imdb.com/search/name/?birth_date=" & birth_date & gender=f........

Anzeige
AW: Nachtrag
13.11.2020 09:42:08
Christian
Hallo Ralf,
um dann die 30 Jahre abzuziehen, brauche ich dann doch wieder die Datumsformel.
Ich glaube dann bleibe ich Formelmäßig doch bei meiner Lösung.
An den VBA Code mache ich mich dann jetzt mal dran. Bin nicht so wahnsinnig fit in VBA und das muss in einen mehr als 200 Zeilen langen Code eingebaut werden. Kann also etwas dauern, melde mich dann aber.
Gruß
Christian
Ergebnis des Makrotests
13.11.2020 09:56:14
Christian
Hallo Uwe,
mit folgendem Codeschnipsel hat es geklappt.
 sday = Format(Day(Date) - WorksheetFunction.Choose(WorksheetFunction.Weekday(Date, 11), 0, 1,  _
2, 3, 4, 5, 6), "00")
birth_date = Format(DateSerial(Year(Date) - 30, Month(Date), sday), "yyyy-mm-dd") & "," &  _
Format(DateSerial(Year(Date) - 18, Month(Date), sday), "yyyy-mm-dd")
url = "https://www.imdb.com/search/name/?birth_date=" & birth_date & "gender=female&roles=" & ttNummer & "&has=birth-date&adult=include&sort=birth_date,asc&count=100&start=" & startListeAktuell
ich habe allerdings noch 2 Dinge ergänzen müssen, einmal das Komma zwischen den beiden Daten und die " vor gender
aber so hat es dann funktioniert.
Vielen Dank für die Geduld und die Mühe.
Christian
Anzeige
danke für die rückmeldung -owT
13.11.2020 18:08:33
ralf_b
AW: Ergebnis des Makrotests
16.11.2020 18:49:56
Christian
Hallo Ralf, bzw. auch die anderen,
es ist doch ein Problem aufgetreten.
Das Makro hätte Daten zwischen dem 16.11.1990 und dem 16.11.2002 berücksichtigen sollen.
Allerdings werden auch Daten nach dem 16.11.2002 übertragen also scheint irgendwas mit dem Code doch nicht zu stimmen.
Ein funktionierender Link, sieht z.B. so aus, wobei im Code mehrere Teile des Links durch Variablen ersetzt sind. Wie gesagt, das zweite Datum scheint in einer anderen Form ausgegeben zu werden und deshalb werden auch Daten nach dem 16.11.2002 berücksichtigt.
https://www.imdb.com/search/name/?birth_date=1990-11-16,2002-11-16&gender=female&roles=tt1877830&adult=include&sort=birth_date,asc&count=100&start=1
Hier der Code, wie er aktuell genutzt wird:

Dim sday As String, birth_date As String
sday = Format(Day(Date) - WorksheetFunction.Choose(WorksheetFunction. _
Weekday(Date, 11), 0, 1, 2, 3, 4, 5, 6), "00")
birth_date = Format(DateSerial(Year(Date) - 30, Month(Date), sday), "yyyy- _
mm-dd") & "," & Format(DateSerial(Year(Date) - 18, Month(Date), sday), "yyyy-mm-dd")
url = "https://www.imdb.com/search/name/?birth_date=" & birth_date & "gender=female&roles=" & ttNummer & "&has=birth-date&adult=include&sort=birth_date,asc&count=100&start=" & startListeAktuell
Wo liegt mein Fehler?
Danke nochmal Christian
Anzeige
Habe den Fehler denke ich gefunden
16.11.2020 18:59:50
Christian
vor gender hat das & gefehlt. Aber ob das alles war müssen jetzt noch ausgiebigere Tests zeigen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige