Guten Morgen,
jetzt muss ich doch nochmal nachfragen wie ich das Ganze mit dem Case-Befehl bei mir aufbauen kann, da ich doch noch andere Fälle in meinem Kontextmenü habe wo ich zum Beispiel löschen muss oder ein Kommentar einfügen will.
habe folgenden Code:
Public Sub CreateCommandBar()
Dim objCommandBar As CommandBar
Dim objCommandBarButton As CommandBarButton
Dim objName As Name
Dim lngIndex As Long
Call DeleteCommandBar
Set objCommandBar = CommandBars.Add(Name:=CONTEXT_MENU, _
Position:=msoBarPopup, Temporary:=True)
For lngIndex = 1 To 25
For Each objName In ThisWorkbook.Names
If objName.Name = "AbwK" & CStr(lngIndex) Then Exit For
Next
If Not objName Is Nothing Then
If Not IsError(Evaluate(objName.RefersTo)) Then
If Not IsEmpty(Range(objName.Name).Value) Then
Set objCommandBarButton = objCommandBar.Controls.Add(Type:=msoControlButton)
With objCommandBarButton
.Caption = Range(objName.Name).Value
.OnAction = "'Färbe """ & Replace$(objName.Name, "K", "Kk") & """'"
End With
End If
End If
End If
Next
Set objCommandBarButton = Nothing
Set objCommandBar = Nothing
Set objName = Nothing
End Sub
Der funktioniert soweit auch für den Fall wenn nur die Felder von AbwKk1- 25 dort eingefügt werden sollen. Kann aber jetzt natürlich keine Anweisung geben das er zum Beispiel bei AbwKk1 löschen soll.
Hoffe mir kann geholfen werden.
MfG SmileStyle
|