Datumserhöhung in VBA



  • Ich möchte in einem selbst erstellten Kalender einzelne Buttons ansprechen, um ihren Button.Text mit den Zahlen des entsprechenden Kalendertages zu belegen.

    Dazu habe ich 6Reihen a 7 Spalten mit Buttons angeordnet und mit btn_1-42 benamst.

    Mein Problem: Schattierung der aus dem Vor-und Folgemonat übernommenen Tage, da ich nicht weiß wie ich ansetzen soll, um zumindest den 1. Wert in der 1.Reihe für ein eingegebenes Datum herauszufinden.

    Hier ein Snippet:
    ...
    Dim cmb_jahr As String
    Dim datAkt As DateTime = DateValue(CStr(Now))
    Dim datAnf As DateTime = CDate(txtEingabe.Text)
    Dim iMonStart As Integer
    Dim vStart As DateTime
    Dim i As Integer
    Dim i1 As Integer
    Dim datBerechne As DateTime
    Dim iAktPos As Integer
    Dim cmb_Monat As Integer '?

    cmb_Monat = Month(datAnf)
    cmb_jahr = CStr(Year(datAnf))

    datBerechne = DateSerial(Year(datAnf), Month(datAnf), Day:=datAnf.Day) 'Greifbarmachen der einzelnen Datumselemente
    datBerechne = DateSerial(Year(datBerechne), Month(datBerechne), 1)
    iAktPos = 0
    iMonStart = Weekday(DateSerial(Year(datBerechne), Month(datBerechne), 1), vbMonday)
    If iMonStart = 1 Then
    iMonStart = 8
    End If
    'Here comes the tricky part:bei Acces ist das möglich,bei VBA gibts hier nur den Fehler "Der --Operator ist für die Typen "Date" und "Integer" nicht definiert. 😡
    '

    vStart = DateSerial(Year(datAkt), Month(datAkt), 1) - iMonStart + 1

    i1 = 1 'für die KW's
    For i = 1 To 42 'füge die einzelnen Werte win usw.
    ...
    Next
    ....

    Wer meint mir helfen zu können?

    Herzlichen Dank schon mal für eure Bemühungen! 👍



  • Ich verstehe deine Frage nicht wirklich, aber hast du dir mal DateDiff angeschaut? Btw, falsches Forum :p

    MfG



  • Wie kann man 30 Elemente fortlaufend mit Zahlen bestücken? Meine erhöhung des Datums um +1 klappt nicht!




Anmelden zum Antworten