AW: Kontextmenü weiße Felder
06.07.2021 10:43:59
Nepumuk
Hallo,
in das Modul der Tabelle "Grundeinstellungen":
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C43:C46")) Then Call CreateCommandBar
End Sub
Im Modul "kontextmenue":
Public Sub CreateCommandBar()
Dim objCommandBar As CommandBar
Dim objCommandBarButton As CommandBarButton
Dim lngIndex As Long
Call DeleteCommandBar
Set objCommandBar = CommandBars.Add(Name:=CONTEXT_MENU, _
Position:=msoBarPopup, Temporary:=True)
For lngIndex = 1 To 25
If Not IsEmpty(Range("AbwK" & CStr(lngIndex)).Value) Then
Set objCommandBarButton = objCommandBar.Controls.Add(Type:=msoControlButton)
With objCommandBarButton
.Caption = Range("AbwK" & CStr(lngIndex)).Value
.OnAction = "'Färbe ""AbwK" & CStr(lngIndex) & """'"
End With
End If
Next
Set objCommandBarButton = Nothing
Set objCommandBar = Nothing
End Sub
Im Modul "DieseArbeitsmappe":
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Saved Then
Select Case MsgBox("Sollen Ihre Änderungen in '" & Name & _
"' gespeichert werden", vbExclamation Or vbYesNoCancel)
Case vbYes
Save
Case vbNo
Saved = True
Case vbCancel
Cancel = True
End Select
End If
If Not Cancel Then
Call DeleteCommandBar
Call TimeStop
End If
End Sub
Gruß
Nepumuk