Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1192to1196
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dezimalzahlen in Stunden und Minuten umrechnen

Dezimalzahlen in Stunden und Minuten umrechnen
Claudia
Hallo zusammen,
mittels eines VBA-Codes werden aus einer Hostanwendung Daten nach Excel übertragen.
6,25
17,65
-2,97
1,09
4,52
5,13
10,87
5,52
6,00
4,03
Es handelt sich hierbei um Dezimalzahlen, die in Zeit (Stunden, Minuten) umgewandelt werden sollen. Diese Umrechnung soll innerhalb der gleichen Zelle passieren.
Betroffen sind die Zellen B4 bis N35
Wie kann ich das per VBA am besten anstellen?
Vielen Dank!
LG
Claudia
AW: Dezimalzahlen in Stunden und Minuten umrechnen
19.12.2010 16:48:22
Josef

Hallo Claudia,
dir ist aber bewusst, dass Excel nicht mit negativen Zeiten rechnen kann, oder nur über Umwege.
Der folgende Code rechnet alle Zahlen im ausgewählten bereich um.

Sub umrechnen()
  Dim rng As Range
  
  For Each rng In Selection
    If IsNumeric(rng) Then
      If rng >= 0 Then
        rng = rng / 24
      Else
        rng = "-" & Format(Abs(rng) / 24, "hh:mm:ss")
      End If
    End If
  Next
  
  Selection.NumberFormat = "[hh]:mm:ss"
End Sub

Gruß Sepp

Anzeige
AW: Dezimalzahlen in Stunden und Minuten umrechnen
19.12.2010 17:05:30
Claudia
Hallo Sepp,
vielen Dank für die prima Lösung. Dein Hinweis hat mich stutzig gemacht bzw. es läuft nun genau auf diese Situation hin. Wie kann ich denn nun mit diesen Minuswerte sinnvoll (wie sagtest Du "über Umwege") rechnen? Daran hatte ich nämlich überhaupt nicht gedacht.
LG
Claudia
AW: Dezimalzahlen in Stunden und Minuten umrechnen
19.12.2010 17:21:47
Claudia
Uih, da habe ich ja heute Abend was zu tun.
Vielen Dank für Deine Hilfe. Wünsch Dir schöne Weihnachten.
AW: Dezimalzahlen in Stunden und Minuten umrechnen
20.12.2010 08:45:23
Wilfried
Hallo!
Meinst Du es so? Weiterrechnen geht aber nicht.
Zeit
 AB
511Zahl auch negativ umwandeln in Text - Uhrzeit darstellen 
512   
513-14,5-14:30
514-4,75-04:45
515  -19:15

verwendete Formeln
Zelle Formel Bereich
B513 =WIEDERHOLEN("-";A513<0)&TEXT(ABS(A513/24);"[hh]:mm") 
B514 =WIEDERHOLEN("-";A514<0)&TEXT(ABS(A514/24);"[hh]:mm") 
B515 {=TEXT(ABS(SUMME(WENN(LINKS(B513:B514)="-";TEIL(B513:B514;2;99)*-1;B513:B514*1)));WENN(SUMME(WENN(LINKS(B513:B514)="-";TEIL(B513:B514;2;99)*-1;B513:B514*1))<0;"-";)&"[hh]:mm")} $B$515
{} Matrixformel mit Strg+Umschalt+Enter abschließen

Tabellendarstellung in Foren Version 5.27


Gruß
Wilfried
Anzeige
AW: Dezimalzahlen in Stunden und Minuten umrechnen
20.12.2010 09:55:50
Tino
Hallo,
hier mal eine VBA Variante.
Ich verwende das 1904 Datumsformat, damit man auch mit negativen Zahlen rechnen kann.
Sub Makro1()
Dim ArrayData()
Dim A&, B&

'damit man mit negativen Zeiten rechnen kann 
ActiveWorkbook.Date1904 = True
'Tabelle und Rangebereich anpassen 
With Sheets("Tabelle1").Range("B4:N35")
    ArrayData = .Value2
    
    For A = 1 To Ubound(ArrayData)
        For B = 1 To Ubound(ArrayData, 2)
            If ArrayData(A, B) <> "" Then
                If IsNumeric(ArrayData(A, B)) Then
                    If ArrayData(A, B) >= 0 Then
                        ArrayData(A, B) = ArrayData(A, B) / 24
                    Else
                        ArrayData(A, B) = -Abs(ArrayData(A, B)) / 24
                    End If
                End If
            End If
        Next B

    Next A
        
    .NumberFormat = "hh:mm;@"
    .Value2 = ArrayData
End With

End Sub
Gruß Tino
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige