Guten Morgen,
bin nicht sehr bewandert was VBA angeht und habe gerade einen Code vor mir liegen den ich umschreiben möchte.
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 """ & objName.Name & "k" & """'"
End With
End If
End If
End If
Next
Set objCommandBarButton = Nothing
Set objCommandBar = Nothing
Set objName = Nothing
End Sub
Unzwar erstellt er mir ein Kontextmenü mit Einträgen die ich mit den Bereichsnamen AbwK1-25 benannt habe. Jetzt möchte ich das auf .Caption diese Auswahl bleibt also da kann der Code so bleiben, aber für .OnAction habe ich weitere Bereichsnamen definiert AbwKk1-25 diese soll er dort dann aufrufen.
Wenn ich & "k" mache setzt er mir das immer dahinter = AbwK20k
Kann mir wer helfen?
Gruß Smile
|