Hallo Andreas,
Normalerweise ist die Value-Eigenschaft die Standardeigenschaft und braucht
richtigerweise nicht angegeben zu werden. Das Problem in diesem speziellen Fall
ist, dass du diesmal durch Weglassen der Eigenschaft lediglich die selbst
definierte Variable Cell in den Typ Double umwandelst. Da sie nun kein Range
mehr ist, verliert sie den Bezug zur eigentlichen Zelle und enthält jetzt nur noch den
Wert als Standardvariable. Durch Next wird sie dann wieder zum Range der
nächsten Zelle.
Auch wenn es vielleicht lapidar klingt. Versuch mal ob's klappt, wenn du die Value-
Eigenschaft hinzufügst. Dann sollte auch die eigentliche Zelle in Double
umgewandelt werden und deine Berechnung wieder funktionieren.
For Each cell In Range(Cells(2, 4), Cells(Cells(Rows.Count, 1).End(xlUp).Row, 6))
cell.value = CDbl(cell)
ActiveCell.NumberFormat = "General"
Next
Zwei Kleinigkeiten sind mir noch aufgefallen. Schau mal drüber:
- Obwohl es auch so klappt, würde ich die Zeile Numberformat lieber vor die
Typumwandlungszeile setzen um den Code noch übersichtlicher zu gestalten und
die Funktionalität zu gewährleisten.
- Außerdem willst du sicher nicht ActiveCell.Numberformat sondern nur
Cell.Numberformat machen, oder?
Gruß Mr. K.