ich habe eine große Arbeitsmappe mit verschiedenen Registern.
In einem Registerblatt wird per Makro bei der Neuberechnung eine Datenbeschriftung für ein Diagramm erzeugt.
Public ws As Worksheet
Sub Datenbeschriftung()
Dim Beschriftungen As Range, c As Range, I As Long
Application.ScreenUpdating = False
Set Beschriftungen = Range("I127:I198").SpecialCells(xlCellTypeVisible)
Sheets("Tab100").Activate
ActiveSheet.ChartObjects(1).Activate
For Each c In Beschriftungen
I = I + 1
With ActiveChart.SeriesCollection(1).Points(I)
.HasDataLabel = True
.DataLabel.Text = c.Value
End With
Next c
ws.Activate
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Calculate()
Set ws = ActiveSheet
Sheets("Tab100").Unprotect "Passwort"
Datenbeschriftung
Sheets("Tab100").Protect "Passwort"
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target
If Not Intersect(c, Range("I127:I198")) Is Nothing Then Datenbeschriftung
Next c
End Sub
Die einzelnen Register haben alle einen Passwortschutz.Manchmal erscheint dann auch diese Fehlermeldung:
Lautzeitfehler 1004-Parameter ungültig
Mein Problem ist nun, dass sobald ich auf einem anderen Registerblatt bin und F9 zur Neuberechnung drücke, die Arbeitsmappe sehr lange und scheinbar mehrfach durchkalkuliert wird. Woran kann dies liegen bzw. wie kann man dies verhindern. Es sollen ja alle Blätter nur einmal berechnet werden bei F9.
Danke im Voraus für eure Hilfe.