VBA: Problem med Worksheet_Activate()
Hej Excel eksperterFor at beskytte mit Excel har mod sletning af udvalgte Sheets, fandt jeg en kodestump på nettet som kunne hjælpe i mod dette.
Den første del af koden blev smidt ind i de sheets som jeg ville beskytte
'==========================>>
Private Sub Worksheet_Activate()
Dim CB As CommandBar
Dim Ctrl As CommandBarControl
For Each CB In Application.CommandBars
Set Ctrl = CB.FindControl(ID:=847, recursive:=True)
If Not Ctrl Is Nothing Then
Ctrl.OnAction = "RefuseToDelete"
Ctrl.State = msoButtonUp
End If
Next
End Sub
'-----------------------------------
Private Sub Worksheet_Deactivate()
Dim CB As CommandBar
Dim Ctrl As CommandBarControl
For Each CB In Application.CommandBars
Set Ctrl = CB.FindControl(ID:=847, recursive:=True)
If Not Ctrl Is Nothing Then Ctrl.OnAction = ""
Next
End Sub
'<<==========================
Den anden del af koden blev lagt i et module.
Public Sub RefuseToDelete()
MsgBox "This help sheet should not be deleted!", _
Buttons:=vbExclamation, _
Title:="Cannot Deelete Help!"
End Sub
Koden virkede rigtig fint, men lige pludselig var alle Sheets omfattet af denne kode, og det var ikke muligt at slette nogen sheets. Jeg valgte derfor at slette den indsatte kode da min workbook også består at sheets som skal slettes. Efter jeg fjernede koden er det stadig ikke muligt at slette sheets.
Selvom ingen af mine sheets har en Worksheet_Activate() eller Worksheet_Deactivate() bliver RefuseToDelete() kaldt hver gang jeg prøver at slette et sheet. Hvordan kommer jeg af med dette problem?