Herbers Excel-Forum - das Archiv

Fehlermeldung bei "Format"

Bild

Betrifft: Fehlermeldung bei "Format"
von: KlausL

Geschrieben am: 25.12.2006 21:09:28
Hallo zusammen,
ich kämpfe zurzeit mit einer Fehlermeldung bei der Funktion Format. Zu Testzwecken habe ich von der "Herber-CD" nachfolgendes Modul gezogen
Sub WennSonntagSonstMsg()
If Weekday(Date) = 1 Then
MsgBox "Heute ist Sonntag"
ElseIf Weekday(Date) = 7 Then
MsgBox "Heute ist Samstag"
Else
MsgBox "Heute ist " & Format(Weekday(Date), "dddd")
End If
End Sub

Ich erhalte die Meldung "Fehler beim Kompilieren, Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft"
Dabei wird im Modul Format farblich hinterlegt.
Hat jemand einen Hinweis woran das liegen kann??
Bereits jetzt vielen Dank und noch schöne Feiertage.
Gruß KlausL
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: Sonnenpeter

Geschrieben am: 25.12.2006 21:43:11
Haqllo Klaus,
habe Dein Markro bei mir "Excel 2002" getestet.
Sub WennSonntagSonstMsg()
If Weekday(Date) = 1 Then
MsgBox "Heute ist Sonntag"
ElseIf Weekday(Date) = 7 Then
MsgBox "Heute ist Samstag"
Else
MsgBox "Heute ist " & Format(Weekday(Date), "dddd")
End If
End Sub

Das Ergebnis stimmt. Die MsgBox sagt mir "Heute ist Montag"
Gruß Sonnenpeter
Bild

Betrifft: Frage noch offen..........
von: Sonnenpeter
Geschrieben am: 25.12.2006 21:45:59
Vergessen die Frage offen zu lassen :-))))
MfG/SP
Bild

Betrifft: AW: Frage noch offen..........
von: Sonnenpeter

Geschrieben am: 25.12.2006 22:13:42
Hallo nochmal,
habe mal geschaut wie ich das lösen würde.
Sub Test()
Dim Datum1, Wochentag
Datum1 = Date
Wochentag1 = Format((Datum1), "dddd")
MsgBox "Heute ist " & Wochentag
End Sub

Warum das:
If Weekday(Date) = 1 Then
MsgBox "Heute ist Sonntag"
ElseIf Weekday(Date) = 7 Then
MsgBox "Heute ist Samstag"
Else 'Ä???????
Aus meiner Sicht nicht notwendig.
Noch schöne Festtage / Sonnenpeter
Bild

Betrifft: AW: Frage noch offen..........
von: KlausL

Geschrieben am: 25.12.2006 22:23:18
Hallo Sonnenpeter,
danke für die Alternative, die Hinweise von Erich haben mich auf den richtigen Weg gebracht. Auch bei mir lautet das Ergebnis nun "Heute ist Montag"
Gruß Klaus
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: Peter Feustel
Geschrieben am: 25.12.2006 21:47:08
Hallo Klaus,
bei mir (unter Excel 2000) gibt es keinen Compile-Fehler und das Makro läuft einwandfrei.
Viele Grüße Peter
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: Erich G.

Geschrieben am: 25.12.2006 21:54:21
Hallo Klaus,
teste bitte mal
sub tst()
msgbox left("abc",1)
msgbox format(1, "00")
end sub
Ich habe ein wenig den Verdacht, dass du momentan ein Problem mit Funktionen der Klasse VBA Strings hast...
Rückmeldung wäre nett! - Erich aus Kamp-Lintfort wünscht euch schöne Feiertage!
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: HAW
Geschrieben am: 25.12.2006 21:54:51
Hallo Klaus,
auch bei mir (xl2003) kein Fehler!
Gruß Heinz
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: Erich G.

Geschrieben am: 25.12.2006 22:00:48
Hallo Klaus,
für den Fall, dass sich mein Verdacht erhärtet, stehen hier mehr Infos:
https://www.herber.de/forum/archiv/820to824/t821593.htm
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: KlausL
Geschrieben am: 25.12.2006 22:11:07
Hallo Erich,
danke für Deine Hinweise diese waren der Weg zum Erfolg.
Auch bei mir heißt es jetzt: Heute ist Montag
Gruß Klaus
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: ingUR

Geschrieben am: 25.12.2006 22:02:15
Hallo, Klaus,
wie bereits von den Mitbeantwortern festgestellt, funktioniert die Prozedur. Es funktioniert aber auch, wenn Du nicht zusätzlich die Weekday-Funktion im Format einsetz, da die Formatmaske "dddd" als Ausgabe eines Datums den Wochetag im Klartext erzwingt:
MsgBox "Heute ist " & Format(Date, "dddd")
Du arbeitest mit EXCEL2003, so dass vielleicht die Möglichkeit besteht, dass nunmehr, die etwas eigenmutig anscheinende Kombiantion von Weekday-Funktion, die ja eigentlich ein Wert für den Wochentag liefert, mit einem Format für ein Datum, nicht mehr unterstützt wird - nur so ein gedanke, da ich momentan nicht an einer ESCEL2003-Version arbeite.
Gruß,
Uwe
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: Erich G.

Geschrieben am: 25.12.2006 22:15:10
Hallo Uwe,
das ist zwar ein inhaltlicher Fehler (bei Klaus würde für heute der Wochentag vom 02.01.1900 angezeigt),
kann aber wohl keine Kompilierungsfehler verursachen.
2 ist ein gültiges Datum, wenn auch nicht das von Klaus eigentlich gewollte.
Rückmeldung wäre nett! - Erich aus Kamp-Lintfort wünscht euch schöne Feiertage!
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: KlausL
Geschrieben am: 25.12.2006 22:15:21
Hallo Uwe,
danke Dir für die Hilfe, mein Problem ist gelöst.
Erich hat mich auf den richtigen Weg gebracht.
Gruß Klaus
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: Herby

Geschrieben am: 25.12.2006 22:11:52
Hallo KlausL
keine Lösung sondern nur eine mögliche Alternative:
Tag = Weekday(Date)
Wochentag = Application.WorksheetFunction.Choose(Tag, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag")
MsgBox "Heute ist " & Wochentag
Viele Grüße
Herby
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: KlausL
Geschrieben am: 25.12.2006 22:17:44
Hallo Herby,
danke für die Alternativlösung, durch die Hinweise von Erich konnte ich das Problem lösen.
Gruß Klaus
Bild

Betrifft: AW: Fehlermeldung bei "Format"
von: Erich G.

Geschrieben am: 25.12.2006 22:31:08
Hallo zusammen,
mal was Nettes:
Sub Scherz()
MsgBox Format(Date, "dddd")
MsgBox Format(Weekday(Date), "dddd")
MsgBox Format(Weekday(Weekday(Date)), "dddd")
MsgBox Format(Weekday(Weekday(Weekday(Date))), "dddd")
End Sub
(stimmt für jedes Datum...)
Erich aus Kamp-Lintfort wünscht noch schöne Rest-Feiertage!
Bild

Betrifft: deine andere Hilfe
von: Jan

Geschrieben am: 27.12.2006 10:08:08
Hallo Erich,
ja da waren die Familien-Feiertage etwas lang, sodass ich nicht mehr in meinen Archivthread komme - Danke für deine sehr gelungene Hilfe bzgl. "spalten vergleichen ohne doppelte in neue Spalte" - faszinierende Lösung, die ich jetzt erstmal nachvollziehen muss.
Viele Grüße
Jan
Bild

Betrifft: @Jan : Danke für Rückmeldung + guten Rutsch! (oT)
von: Erich G.
Geschrieben am: 27.12.2006 13:57:01
 Bild
Excel-Beispiele zum Thema "Fehlermeldung bei "Format""
Fehlermeldung #NV ausblenden Fehlermeldung abfangen
Fehlermeldung #DIV/0! verhindern Fehlermeldung abfangen und in sequentielle Datei schreiben
VBA-Fehlermeldungen auflisten Alle Zellen mit der #BEZUG!-Fehlermeldung auswählen
Zahlenstring mit Formel auslesen und Fehlermeldung verhindern Makro mit Excape-Taste ohne Fehlermeldung beenden
Fehlermeldung, wenn nicht der erwartete Wert eingetragen wird