AW: Zelle formatieren in hh:mm:ss
06.10.2014 21:29:48
Adis
Hallo
hier eine Makro Lözsung von mir, in der Hoffnung die Diskussion zu beenden!
Für Hendrik: ich überschreibe nicht gerne die Original Daten, sondern arbeite
lieber mit einer neuen Spalte wo das Ergebnis drin steht. Bei mir Spalte "B"
Dieser Bereich ist bereits auf "hh:mm:ss" formatiert und übernimmt lediglich die
vom Makro umgerechneten Werte. Das Makro in ein Modulblatt kopieren und testen.
Der Bereich steht in Constant, bei mir "A3:A13", und kann dort auf den eigenen
Tabellenbereich geaendert werden. Vielleicht laesst sich die Aufgabe ja so lösen!
Const ZahlBereich = "A3:A13" 'Bereich in dem die Sekunden stehen
'die umgewandelte Zahl steht im Bereich "B3:B13" (Zelle rechts)
Sub Sekunden_inZeit_umwandeln()
Dim Stunden As Variant, Minuten As Variant
Dim Sekunden As Variant, Zeit As String, i As Range
Sheets("Tabelle1").Select
For Each i In Range(ZahlBereich)
Sekunden = i.Value: Stunden = "00": Minuten = "00"
If InStr(i, ",") Then Sekunden = Left(i, InStr(i, ",") - 1)
'Stunden auswerten
If Sekunden > 3600 Then
Stunden = Int(Sekunden / 3600)
Sekunden = Sekunden - Stunden * 3600
End If
'Minuten auswerten
If Sekunden > 60 Then
Minuten = Int(Sekunden / 60)
Sekunden = Sekunden - Minuten * 60
End If
'Zeit als Text String auswerten
Zeit = CStr(Stunden & ":" & Minuten & ":" & Sekunden)
'Zeit in formatierte Zellen "B3:B13" eintragen
i.Offset(0, 1) = Zeit
Next i
End Sub
Gruss Adis