Hallo zusammen,
Ich habe zwei VBA Codes. Der erste sperrt bestimmte Arbeitsblätter und der Zweite ("fixinvertcolor") sorgt dafür, dass in zwei Diagrammen die Balken rot gefärbt werden, aufgrund eines Excel-Fehlers.
Die Codes funktionieren jeweils problemlos wenn ich sie einzeln verwende. Mein Problem ist, dass ich mich mit VBA nicht besonders gut auskenne und wenn ich beide Codes in der gleichen Arbeitsmappe verwenden möchte, es teilweise zu Laufzeitfehlern kommt.
Mein Ansatz war den ersten Code beim starten laufen zu lassen, und dann den zweiten Code aufzurufen, siehe unten. Der zweite Code ("fixinvertcolor") wird nur für ein Tabellenblatt gebraucht.
Wie kann ich beide Codes richtig ausführen lassen, ohne dass es zu Laufzeitfehlern komm?
Vielen Dank & beste Grüße,
Rlaph
"
Private Sub Workbook_Open()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
Select Case wks.Name
'Blätter die nicht "entsperrt" werden sollen
'hier in der Case Anweisung aufführen
Case "Blatt 1", "Blatt 2"
'nix machen
Case Else
wks.Protect userinterfaceonly:=True, Password:="XYZ"
wks.EnableOutlining = True 'für Gliederung
End Select
Next
Call fixinvertcolor
End Sub
Sub fixinvertcolor()
Dim N As Integer
Dim chartname As String
For N = 1 To 2
chartname = "TargetAch " & N
ActiveSheet.ChartObjects(chartname).Activate
ActiveChart.FullSeriesCollection(1).Select
With Selection.Format.Fill
Selection.InvertColor = RGB(192, 0, 0)
End With
Next N
End Sub
|