WICHTIG!
Es muss lauten:
1 2 3 | 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 ...
1 | 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 ...
1 | 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ß
|