Zenhtelsekunden

Bild

Betrifft: Zenhtelsekunden
von: Thomas
Geschrieben am: 21.06.2015 22:11:18

Liebe Excelperten,
ich habe hier ein Problem mit Zeitberechnungen. Mir werden komischerweise die Zehntelsekunden abgeschnitten.
Hier der Code:

Sub Zehntel()
    
    Cells.Delete                                'vorsichtshalber alles löschen
    
    Range("A:B").ColumnWidth = 20               'damit man etwas sieht
    
    Range("A1").Value = "20:00:00"              'Zeit ohne Tag
    Range("B1").Value = "21.06.2015 20:00:00"   'Zeit mit Tag (zum Vergleich)
    Range("A2:B2").Value = "00:00:00.3"         'Offset (3 Zehntel Sekunden)
    
    '--- Bereich füllen:
    With Range("A3:B3")
        .NumberFormat = "hh:mm:ss.00"
        .FormulaR1C1 = "=R1C + R2C"
        .Value = .Value
        .NumberFormat = "dd/mm/yyyy hh:mm:ss.00"
    End With
    
    '--- nochmal das Gleiche, nun aber mit Datumsformatierung:
    With Range("A3:B3")
        .NumberFormat = "dd/mm/yyyy hh:mm:ss.00"
        .FormulaR1C1 = "=R1C + R2C"
        .Value = .Value                '<--- hier werden die Zehntel gelöscht!
        .NumberFormat = "dd/mm/yyyy hh:mm:ss.00" '<--- bringt auch nichts mehr
    End With
    
End Sub
Erklärung:
Es gibt 2 Spalten, A und B. In A1 trage ich eine Zeit ein, in B1 zum Vergleich eine Zeit mit Datum. Darunter jeweils einen Offset von 3 Zehntel Sekunden. Nun soll in der Zeile darunter jeweils die oberste Zeile mit dem Offset darunter addiert werden.
Beim ersten "With" ist noch alles in Ordnung. Es wird alles richtig angezeigt.
Beim zweiten "With" -das eigentlich komplett das Gleiche macht, nur dass hier hier eine andere Formatierung gewählt wird- werden mir die Zehntelsekunden abgeschnitten.
Bitte fragt jetzt nicht, warum ich das so mache, das ergab sich aus meinem Code und ich habe mir einen abgebrochen, das hier möglichst einfach darzustellen.
Hülfä! Wer kann mir das erklären? Was mache ich falsch?
Danke im Voraus!
Gruß,
Thomas

Bild

Betrifft: AW: Zenhtelsekunden
von: Sepp
Geschrieben am: 21.06.2015 23:09:42
Hallo Thomas,
warum das passiert weiß ich auch nicht, aber so gehts
Statt .Value = .Value

.Copy
.PasteSpecial xlValues '<--- hier werden die Zehntel gelöscht!

Gruß Sepp


Bild

Betrifft: AW: Zenhtelsekunden
von: Thomas
Geschrieben am: 21.06.2015 23:15:58
Hallo Sepp,
besten Dank, so hatte ich das auch schon gesehen.
Irgendwie dachte ich mir, dass es mit .Value = .Value eleganter wäre.
Aber dass du hierfür auch keine Erklärung hast, beruhigt mich! ;o)
Ich bleibe dann halt beim Umweg über 2 Formatierungen. Wenn man die erste Formatierung "nur Zeit" beibehält und dann nach der .Value-Umwandlung als "Datum Zeit" formatiert, dann geht es. Komischerweise...
Danke und schönen Abend,
Thomas

 Bild

Beiträge aus den Excel-Beispielen zum Thema "<b>Wert aus Internetseite kopieren </b>"