Habe mal was universelles cecodet:
Makro rechnet alles um, was du definierst. Groß- und Kleinschreibung der Einheit ist egal, Dezimaltrennzeichen Punkt wird als Komma angesehen (1.5 = 1,5 ABER ist dann auch 1.000 = 1,0).
Du musst nur die Startzelle und deine Einheiten definieren.
Der Code:
Code:
' Zeitaufwandskonverter von [EID]-Mr.GiZMO :)
' Beginn Konfiguration
Const Startzeile As Integer = 1 ' Hier definieren, wo die erste Zelle mit Zeiteintrag steht
Const Startspalte As Integer = 1
Type EinheitUndWertInMinuten
Einheit As String
Wert As Integer
End Type
Global Zeiteinheiten() As EinheitUndWertInMinuten
Sub Converter()
ReDim Zeiteinheiten(0 To 2) ' Hier Zahl erhöhen, wenn unten weitere Einheit hinzukommt
Zeiteinheiten(0).Einheit = "min" ' Immer Wort ('min' findet "min", "minute", minuten" etc. in Groß- und Kleinschreibung
Zeiteinheiten(0).Wert = 1 ' Und zugehöriger Wert
Zeiteinheiten(1).Einheit = "st"
Zeiteinheiten(1).Wert = 60
Zeiteinheiten(2).Einheit = "tag"
Zeiteinheiten(2).Wert = 1440
' Ende Konfiguration
actualLine = Startzeile
actualRow = Startspalte
weiter = True
While weiter = True
Zelleninhalt = Cells(actualLine, actualRow).Value
For i = 0 To UBound(Zeiteinheiten)
If LCase(Zelleninhalt) Like "*" & Zeiteinheiten(i).Einheit & "*" Then
ZellenWert = Replace(Left(Zelleninhalt, InStr(LCase(Zelleninhalt), Zeiteinheiten(i).Einheit) - 1), ".", ",")
Cells(actualLine, actualRow + 1).Value = ZellenWert * Zeiteinheiten(i).Wert
End If
Next
actualLine = actualLine + 1
If Cells(actualLine, actualRow).Value = "" Then weiter = False
Wend
End Sub
Im Anhang gleich die .bas Datei zum direkten Import in VBA.
Dann noch nen Button oder Tastenkombi auf Converter.Timeconverter lgen et voilà!
Gruß