Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
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
ValidateList abhängig vom Datum
18.07.2022 16:14:36
Thomas
Hallo,
ich hab in meinem kleinen VB Programm eine XlValidateList, in der ich Monatswerte zur Auswahl vorgebe, das ganze sieht aktuell so aus:

With Cells(lngRow, 56).Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:="01 2022,02 2022,03 2022,04 2022,05 2022,06 2022,07 2022,08 2022,09 2022,10 2022,11 2022,12 2022,01 2023,02 2023,03 2023,04 2023,05 2023,06 2023,07 2023,08 2023,09 2023,10 2023,11 2023,12 2023"
.IgnoreBlank = True
.InCellDropdown = True
End With
Das funktioniert auch, allerdings wäre mir lieber das ganze wäre etwas dynamischer, konkret heißt das das z.b. im Juli 2022 nur noch die Werte von 07 2022 bis 12 2023 benötigt würde, im August 2022, dann nur noch von 08 2022 bis 12 2023 usw.
Im Januar 2023 wären es dann die Werte von 01 2023 bis 12 2024 usw.
Wie könnte ich das lösen?
Danke

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ValidateList abhängig vom Datum
18.07.2022 16:35:09
Daniel
HI
den Text per Schleife erstellen:

dim txt as string
dim M as long
for M = month(date) to 12
txt = txt & "," &  format(M, "00 ") & year(date)
next
for M = 1 to 12
txt = txt & "," &  format(M, "00 ") & year(date +1)
next
... Formula1:=Mid(txt, 2)
Gruß Daniel
AW: ValidateList abhängig vom Datum
19.07.2022 10:10:58
Thomas
Hi Daniel,
das funktioniert soweit, außer das das folge Jahr immer noch 2022 ist und nicht 2023, also es wird jetzt erst nur noch 07-12 2022 angezeigt und dann geht es von 01-12 aber auch 2022, was eigentlich 2023 sein müßte
,Userbild
Anzeige
AW: ValidateList abhängig vom Datum
19.07.2022 10:38:51
Daniel
Hi
sorry, mein Fehler. Schreib mal das +1 nicht in sondern nach der Klammer: year(date) + 1
Gruß Daniel
AW: ValidateList abhängig vom Datum
19.07.2022 13:30:50
Thomas
Hi, ja dann klappt es, Danke
AW: ValidateList abhängig vom Datum
19.07.2022 13:58:08
Daniel
Hi
noch ne Variante mit nur einer Schleife:

Dim txt As String
Dim M As Long
For M = Month(Date) To 24
txt = txt & "," & Format(DateSerial(Year(Date), M, 1), "MM YYYY")
Next
.... Formula1:=Mid(txt, 2)
Gruß Daniel
AW: ValidateList abhängig vom Datum
18.07.2022 16:38:06
onur

Private Sub CommandButton1_Click()
Dim mo, ja, li(), m, y, i
mo = Month(Date): ja = Year(Date)
For y = ja To ja + 1
For m = 1 To 12
If y = ja Then
If m >= mo Then
ReDim Preserve li(i)
li(i) = Format(m, "00") & " " & y
i = i + 1
End If
Else
ReDim Preserve li(i)
li(i) = Format(m, "00") & " " & y
i = i + 1
End If
Next m
Next y
With Cells(1, 1).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=Join(li, ",")
.IgnoreBlank = True
.InCellDropdown = True
End With
End Sub

Anzeige
AW: ValidateList abhängig vom Datum
19.07.2022 10:20:31
Thomas
Hi Onur,
das scheint bis jetzt perfekt zu funktionieren.
AW: ValidateList abhängig vom Datum
18.07.2022 20:37:12
Oberschlumpf
Hi,
tausch mal den von dir gezeigten Code gegen diesen hier aus

Dim liMonth As Integer, lstrVal As String
For liMonth = Month(Date) To 12
lstrVal = lstrVal & Format(liMonth, "00") & " " & Year(Date) & ","
Next
lstrVal = Left(lstrVal, Len(lstrVal) - 1)
With Cells(lngRow, 56).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=lstrVal
.IgnoreBlank = True
.InCellDropdown = True
End With
Hilfts?
Ciao
Thorsten
AW: ValidateList abhängig vom Datum
19.07.2022 10:01:51
Thomas
Hi, also wenn ich nichts falsch gemacht hab, dann ist nachher jedes Element 07 2022 und nicht 07 2022 08 2022 09 2022 usw.
Anzeige
AW: ValidateList abhängig vom Datum
19.07.2022 10:28:19
Oberschlumpf
Hi,
also, da ich mehr Code als den von dir gezeigten nicht kenne, hab ich eine Bsp-Datei erstellt, guckst du...
https://www.herber.de/bbs/user/154243.xlsm
In meiner Datei wird Zelle A1 mit Validate gefüllt, so, wie du es haben möchtest, guckst du noch mal...
Userbild
Ja, irgdwas wird mit meiner Idee in deinem Code nicht funktionieren - aber was, weiß ich nicht, weil, ich kenn ja keine Bsp-Datei mit mehr Code/Bsp-Daten von dir.
Ciao
Thorsten
Anzeige
AW: ValidateList abhängig vom Datum
19.07.2022 13:33:48
Thomas
Hi,
danke für die Beispieldatei, das klappt auch für das "laufende" Jahr, aber nicht für das folge Jahr, sofern ich es richtig anwende
AW: ValidateList abhängig vom Datum
19.07.2022 13:38:21
Oberschlumpf
Hi,
möchtest du jetzt noch von mir eine korrigierte Version meiner Bsp-Datei?
Ciao
Thorsten
AW: ValidateList abhängig vom Datum
19.07.2022 13:52:30
Thomas
Hi Thorsten, nein brauch ich nicht, war nur als Rückmeldung gedacht, bzw. also Info für mich wenn die Datei bei dir das folge Jahr mit anzeigt das ich dann wohl etwas falsch mache.
MFG

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige