Archiv
Ansicht:   
Suche   erweiterte Suche

Nachricht aus dem Archiv

manes schrieb am 20.March.2019, 11:36:40 in der Kategorie pc.software

Excel 2016: Formatproblem

Hallo
Auf meiner Arbeitsstelle hatten wir vor etlichen Jahren mal ein Excel-Problem, das man mit einer Array-Formel ganz gut lösen konnte. Das Problem war allerdings, dass der eine oder andere User mit der Eingabe dieser Formel etwas überfordert war, zum einen, weil es eine Array-Formel war, und zum anderen, weil sie auch sonst komplex war.
Zu der Zeit gabe es einen Strategiewechsel. Künftig haben wir komplexere Formeln jeweils als (allein vom Namen her) gut verständliche, benutzerdefinierte Funktionen bereit gestellt.
Das vorliegende Problem, bei dem man z.B. aus 6,25 dann 6:25 machen musste, ist auch bei uns aufgetreten. Wir haben das seinerzeit mit sowas gelöst:

Public Function Dez2Zeit(Dezimalwert)
Application.Volatile
Dim int_h As Integer
Dim int_m As Integer
If IsNumeric(Dezimalwert) Then
int_h = Int(Dezimalwert)
int_m = (Dezimalwert - int_h) * 100

Dez2Zeit = TimeSerial(int_h, int_m, 0)
Else
Dez2Zeit = CVErr(2001)
End If
End Function

Diese Funktion könnte bei der Variante mit der Hilfsspalte eingesetzt werden. Die müsste dann natürlich als Uhrzeit formatiert werden.

Public Sub UmwandelnDez2Zeit()
Dim r As Range
Dim c As Range
Dim str_NU As String
Dim str_Msg As String
Dim var_Zeit As Variant
Set r = Application.InputBox("Zellbereich für Umwandlung)", "Umwandlung Dez 2 Zeit", Selection.Address, , , , , 8)
For Each c In r.Cells
var_Zeit = Dez2Zeit(c.Value)
If VarType(var_Zeit) <> vbError Then
c = var_Zeit
c.NumberFormat = "[h]:mm"
Else
str_NU = str_NU & c.Address & ","
End If
Next
If str_NU <> "" Then
str_NU = Left(str_NU, Len(str_NU) - 1)
str_Msg = "In den folgenden Zellen konnte keine Umwandlung erfolgen:" & vbCr & vbCr & str_NU & _
"Sollen diese Zellen markiert werden?"
If MsgBox(str_Msg, vbYesNo) = vbYes Then
Range(str_NU).Select
End If
End If
End Sub

Hiermit wird übrigens 25,3 in 25:30 umgewandelt. 7,9 wird allerdings in 8:30 umgewandelt. So ein Wert kam jedoch in den Quelldaten nie vor.
Vielleicht kannst Du damit was anfangen
FFPX
Manes
Archiv
Ansicht:   
Suche   erweiterte Suche
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz