Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

deutsche Monatsnamen

    Betrifft: deutsche Monatsnamen von: Matthias H.
    Geschrieben am: 02.09.2003 18:38:39

    Hallo,

    in meinem Blatt stehen in verschiedenen Zellen alle 12 Monatsnamen. Darunter stehen verschiedene Zahlen (Tage).
    Mit einer For-Next-Schleife springe ich nacheinander die Monatsnamen an, und prüfe dann in den darunterliegenden Zellen, ob es sich um das heutige Datum handelt.
    Dazu schreibe ich den Tag [Cells(r + v, c)], und den Monat [Cells(r, c)]in Zelle B2, und vergleiche dann mit Date:

    Cells(2, 2) = Cells(r + v, c) & Cells(r, c) & Year(Date)
    If Cells(2, 2) = Date Then MsgBox "ok"

    Im Fall des 2.September steht dann in B2 Folgendes: 02.09.2003, und die If- Bedingung wird erfüllt.

    Das funktioniert aber nur wenn die Monate englisch geschrieben werden. Bei "Mai" steht in B2 z.B. 4Mai2003

    Komischerweise habe ich mit "Januar" und "Februar" keine Probleme, nur mit "März", "Mai", "Juni", "Juli", "Oktober" und "Dezember".

    Weiß jemand warum?

    Gruß
    Matthias

      


    Betrifft: AW: deutsche Monatsnamen von: Hajo_Zi
    Geschrieben am: 02.09.2003 19:14:30

    Hallo Mathias

    ich habe das mal nachgebaut

    Option Explicit

    Sub Test()
    Dim R As Byte
    Dim V As Byte
    Dim C As Byte
    R = 5
    V = 6
    C = 3
    Cells(2, 2) = CDate(Cells(R + V, C) & Cells(R, C) & Year(Date))
    If Cells(2, 2) = Date Then MsgBox "ok"
    End Sub

    Tabelle1
     ABC
    1   
    2   
    3   
    4   
    5  09.
    6   
    7   
    8   
    9   
    10   
    11  02.
     
    Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  

    Grußformel
    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.
    Microsoft MVP für Excel
    Das Forum lebt auch von den Rückmeldungen.

    Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
    Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen. Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet. Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

      


    Betrifft: AW: deutsche Monatsnamen von: Matthias H.
    Geschrieben am: 02.09.2003 19:29:10

    Hallo Hajo,

    ich bekomme bei CDate einen runtime error (type mismatch).
    Hier mal mein kompletter Quellcode:

    Sub check()
    
    Sheets(1).Select
    For c = 2 To 10 Step 4
    For r = 3 To 27 Step 8
    For v = 1 To 6
    
    Cells(r + v, c).Select
    Cells(2, 2) = Cells(r + v, c) & Cells(r, c) & Year(Date)
    
    For d = 0 To 7
    If Cells(2, 2) = Date + d Then
    
        Dim Wann As String
        If d = 0 Then Wann = " heute "
        If d = 1 Then Wann = " morgen "
        If d > 1 And d < 7 Then Wann = " in " & d & " Tagen "
        If d = 7 Then Wann = " 1 Woche "
        MsgBox Cells(r + v, c + 1) & " wird " & Wann & Year(Date) - Cells(r + v, c + 2) & " Jahre alt!"
        Exit Sub
    End If
    Next
    Next
    Next
    Next
    
    End Sub
    


    Gruß
    Matthias


      


    Betrifft: AW: deutsche Monatsnamen von: th.heinrich
    Geschrieben am: 02.09.2003 23:02:17

    hallo Matthias,

    vielleicht hilft dies weiter.

    Englischsprachiges Datum

    Function my_date(datum As Date) As String
    Dim a As Variant
    a = Array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec")
    my_date = a(Month(datum) - 1) & " " & Day(datum) & ", " & Year(datum)
    End Function
    


    von Harald

    gruss thomas


     

    Beiträge aus den Excel-Beispielen zum Thema " deutsche Monatsnamen"