Hallo Andreas,
Interessant. Das Problem war mir noch nicht bekannt. Es könnte
evtl. daran liegen, dass VBA versucht, alles was in eckigen
Klammern steht als Name auszuwerten. Schließlich könntest du ja
anstelle eines Benutzerformats auch einen Namen wie z.B. "Long
Time" eingeben. Wie man die Format-Funktion nun dazu bringt, die
Eckige Klammer als solche auszuwerten, weiß ich auch nicht. Alle
mir bekannten Steuerzeichen haben nicht funktioniert.
Die einfachste Lösung ist es, hier die Excel-Funktion =Text() zu
verwenden. Die Code-Zeile lautet wie folgt:
MsgBox Application.Text(datZeit1 + datZeit2, "[h]:mm")
Übrigens ist das nicht die Einzige VBA-Funktion, die falsch arbeitet.
Ich habe im Lauf der Zeit einige VBA-Bugs aufgedeckt. Beispiel:
Round(17.5, 0) = 18 aber Round(18.5, 0) ist auch 18. Wie kann das
sein? Für korrektes Runden immer die ExcelFunktion
Application.Round(18.5, 0) verwenden.
Gruß Mr. K.