WICHTIG!
Es muss lauten:
With Worksheets("Salat-Mix")
.Range(.Cells(6, 2), .Cells(ez, 5)).NumberFormat = "0.00"
End With
In deinem Quellcode wird schlimmsten Falls - wenn "Salat-Mix" nicht das aktive Blatt ist - einen Laufzeitfehler produziert, weil versucht wird einen Bereich über mehrere Blätter hinweg anzusprechen. Das gestattet Excel so nicht!
Das bedeutet, wenn das Makro aus dem Blatt "Daten" heraus ausgeführt wird - jenes Blatt also das aktive ist - dann funktioniert zwar ...
Worksheets("Daten").Range(Cells(6, 2), Cells(ez, 5)).NumberFormat = "0.00"
..., weil Range als auch Cells sich auf das gleiche Blatt beziehen,
aber eben nicht ...
Worksheets("Salat-Mix").Range(Cells(6, 2), Cells(ez, 5)).NumberFormat = "0.00"
... weil hier Range auf "Salat-Mix" verweist und Cells aber auf das aktive Blatt "Daten" -> Gratulation, damit ist die Atombombe gezündet -> Laufzeitfehler.. ;)
Das solltest du bei dir also sehr zu Herzen nehmen, auch in Zukunft und es in allen Zeilen mit Range(Cells(...), Cells(...)) so klarstellen.
Gruß
|