Kommentar trotz Blattschutz ... aber wie???
25.02.2004 12:10:23
Peter
ich habe ein kleines Problem, das Profi-Hilfe bedarf ...
Für ein GESCHÜTZTES Tabellenblatt habe ich ein eigenes Kontextmenü angelegt, um Bereiche einzufärben. Das klappt auch soweit . Jetzt soll es aber auch möglich sein, Zellen auf dem geschützten Blatt mit einem Kommentar zu versehen (Auswahl über Kontextmenü), aber leider kann man auf geschützten Blättern keine Kommentare einfügen, bzw. die Schaltfläche ist "disabled".
Über eine eigene Routine (Beispiel Sub Kommentar()) würde es funktionieren, aber das gefällt mir nicht, wg. der extra Eingabebox:
Sub Kommentar()
Notiz = InputBox("Notiz eingeben:", "")
ActiveSheet.Unprotect
ActiveCell.AddComment
ActiveCell.Comment.Visible = False
ActiveCell.Comment.Text Text:=Notiz
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Wie kann ich aber den exceleigenen Menüpunkt für den Kommentar trotz geschütztem Blatt nutzen, ohne diese Aufgabe über eine eigene Routine zur Eingabe des Kommentars zu bewerkstelligen?
Wer kann mir weiterhelfen?
Vielen Dank im Voraus
Gruß Peter
Hier die Routine des Kontext-Menüs und der Sub-Routinen:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
'Eigenes Kontextmenü erstellen
Dim NeuesMenü As CommandBarButton
With CommandBars("Cell")
'Bestehendes Menü löschen
Do While .Controls.Count > 0
On Error Resume Next
.Controls(1).Delete
Loop
'Neues Menü erstellen
Set NeuesMenü = .Controls.Add(msoControlButton)
With NeuesMenü
.Caption = "&Bereich grün einfärben"
.OnAction = "farbe_grün"
.FaceId = 2168
End With
Set NeuesMenü = .Controls.Add(msoControlButton)
With NeuesMenü
.Caption = "&Bereich rot einfärben "
.OnAction = "farbe_rot"
.FaceId = 2168
End With
Set NeuesMenü = .Controls.Add(ID:=1589) 'Kommentar einfügen
Set NeuesMenü = .Controls.Add(ID:=1592) 'Kommentar löschen
End Sub
Sub farbe_rot()
ActiveSheet.Unprotect
With Selection.Interior
.ColorIndex = 3
End With
ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True
End Sub
Sub farbe_grün()
ActiveSheet.Unprotect
With Selection.Interior
.ColorIndex = 4
End With
ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True
End Sub
⨪