Hallo Tobi,
zunächst mal: Mit Selection.Numberformat = "0.00" hast du lediglich ein Zahlenformat mit 2 Nachkommastellen generiert. Die Millimeterangabe fehlt dabei. Korrekt muss das Zahlenformat also lauten: Selection.NumberFormat = "0 ""mm"""
Wenn du trotzdem Werte wie "120 mm" siehst dann stehen die Daten vermutlich hart als Text drin. Das erkennst du daran, wenn sie linksbündig stehen. Das heißt du siehst das mm auch in der Formelleiste wo es nicht hingehört. Du musst also erstmal die Werte in reine Zahlen konvertieren, um damit rechnen zu können. Vorausgesetzt die Angaben stehen ordentlich mit Leerzeichen getrennt und mm da. also z.B. "120 mm" dann kannst du dafür z.B. folgenden Code verwenden:
Selection.NumberFormat = "0 ""mm"""
For Each c In Selection.Cells
c.Value = CInt(Left(c.Value, Len(c.Value) - 3))
Next c
Nun sollten die Zahlen rechtsbündig erscheinen und das mm siehst du nur noch in der Zelle aber nicht mehr in der Formelleiste. Du kannst jetzt damit rechnen und dein Select Case springt jetzt auch an. Was du allerdings in dem Select case machen willst ist mir ein Rätsel. Denn .Cells(y, RidingStyleSpalte).Value "1 - 2" ist wieder reiner Text. Wenn du diesen so ausgeben willst, musst du vorher .Cells(y, RidingStyleSpalte).Numberformat = "@" machen, sonst wird das dir in ein Datumsformat 02.01.2020 umgewandelt, was du sicher nicht willst.
Gruß Mr. K.
|