tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von HonniCilest
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1781
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    r_Alf r_Alf ist offline Rookie
    Registriert seit
    Mar 2006
    Beiträge
    5
    Hallo,

    habe mehrere Zellen mit "hh:mm:ss,000" formatiert und trage dort Zeiten Millisekunden genau ein, was in der Exceldarstellung auch noch gut funktioniert (Millisekundenaddition funktioniert).
    Jetzt will ich diese Zeitangabe exakt speichern und habe folgendes versucht:
    (geöffnet per Open TextDatei For Output As #FileNr)

    Print #FileNr, Format(Cells(2, 4), "hh:mm:ss,000")

    Problem hierbei ist, dass die Sekunden immer gerundet werden, also immer 000 Millisekunden gespeichert werden. Ein direktes Übernehmen der Zellformatierung hatte nix geändert

    Habs dann direkt mal so versucht:

    Print #FileNr, Format(Hour(Cells(2, 4)), "##00") & ":" _
    & Format(Minute(Cells(2, 4)), "##00") & ":" _
    & Format((Cells(2, 4) * 24 * 60 * 60) Mod 60, "##00") & "," _
    & Right(Cells(2, 4) * 24 * 60 * 60 * 1000, 3)


    Hier hatte ich dann zwar meine Millisekunden drin, die Sekunden waren aber weiterhin gerundet (also bei >499ms eben Sekunden+1) und habs dann mit fix probiert:

    Print #FileNr, Format(Hour(Cells(2, 4)), "##00") & ":" _
    & Format(Minute(Cells(2, 4)), "##00") & ":" _
    & Format(Fix(Cells(2, 4) * 24 * 60 * 60) Mod 60, "##00") & "," _
    & Right(Cells(2, 4) * 24 * 60 * 60 * 1000, 3)


    Hier ist das Problem, dass aus dem von Hand eingegebenen Wert "00:00:59,000" in der Textdatei ein "00:00:58,000" wird, ändere ich diese händische Eingabe auf "00:00:59,001" habe ich das erwartungsgemäss auch in der Textdatei drin stehen.
    Falls die Frage aufkommt warum ich die Sekunden berechne - mit "Second" wars auch gerundet.

    Meine Frage wäre nun wie ich das exakt so wie in der Zelle sichtbar gespeichert bekomme?

    Ich hoffe mir kann geholfen werden (mehrzellig würd ichs eigentlich nicht machen wollen, nur wenn es wirklich keine einzellige Lösung gibt).

    (btw., nutze Office 2010)
     

  2. #2
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    Wieso willst du etwas, was bereits formattiert ist, nochmal formattieren?
    Versuchs mal so:
    Code :
    1
    
    Print #FileNr, Cells(2, 4).Text
    r_Alf bedankt sich. 
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  3. #3
    r_Alf r_Alf ist offline Rookie
    Registriert seit
    Mar 2006
    Beiträge
    5
    Ohman, Wald und Bäume... hab mich wohl durch das Ergebnis irritieren lassen, welches mit
    Print #FileNr, Cells(2, 4)
    gespeichert wird (Bruchteil des Tages)
     

Ähnliche Themen

  1. Variablen Ohne Form übernehmen!
    Von fanta0815 im Forum PHP
    Antworten: 26
    Letzter Beitrag: 03.07.07, 14:43
  2. vb6 - Textdatei speichern ohne den letzten Zeilenumbruch.
    Von Morpheling im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 14.06.07, 16:44
  3. ohne PHP CGI und CO aus einer textdatei lesen
    Von JamesT im Forum Coders Talk
    Antworten: 1
    Letzter Beitrag: 11.05.07, 10:49
  4. Antworten: 2
    Letzter Beitrag: 18.07.05, 11:55
  5. vba Code ohne Änderung in dll übernehmen
    Von the_hulk im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 22.07.04, 12:20

Stichworte