Eksemplet herunder viser, hvordan du kan oprette CommandBar -knapper/menuer, der videregiver et eller flere argumenter til en makro.
eksemplet viser også, hvordan du kan føje et nyt element til genvejsmenuen Celle.
Sub AddCommandToCellShortcutMenu () Dim i As Integer, ctrl As CommandBarButton DeleteAllCustomControls 'delete the controls if they already exist' create the new controls With Application.CommandBars (25) 'the cell shortcut menu' add a regular commandbarbutton Set ctrl = .Controls.Add (msoControlButton,,,, True) Med ctrl .BeginGroup = True .Caption = "New Menu1" .FaceId = 71 .State = msoButtonUp .Style = msoButtonIconAndCaption .Tag = "TESTTAG1" .OnAction = "MyMacroName2" With knap, der passerer et strengargument Indstil ctrl = .Controls.Add (msoControlButton,,,, True) Med ctrl .BeginGroup = Falsk .Caption = "Ny menu2" .FaceId = 72 .Style = msoButtonIconAndCaption .Tag = "TESTTAG2" .OnAction = "'MyMacroName2" "Ny menu2" "" "Slut med' tilføj en knap, der passerer et strengargument, sæt ctrl = .Controls.Add (msoControlButton,,,, True) Med ctrl .BeginGroup = Falsk .Caption =" Ny Menu3 ".FaceId = 73 .Style = msoButtonIconAndCaption .Tag =" TESTTAG3 ".OnAction = "'MyMacroName2" "" & .Caption & "" "'" End With 'tilføj en knap, der sender to argumenter, en streng og et helt tal. Indstil ctrl = .Controls.Add (msoControlButton,,,, True) Med ctrl. BeginGroup = False .Caption = "New Menu4" .FaceId = 74 .Style = msoButtonIconAndCaption .Tag = "TESTTAG4" .OnAction = "'MyMacroName3" "" & .Caption & "" ", 10'" End With End With Set ctrl = Intet slut Sub Sub DeleteAllCustomControls () 'slet kontrollerne, hvis de allerede findes Dim i As Integer For i = 1 To 4 DeleteCustomCommandBarControl "TESTTAG" & i Next i End Sub Private Sub DeleteCustomCommandBarControl (CustomControlTag As String)' sletter ALLE CommandBar -kontroller med Tag = CustomControlTag On Error Resume Next Do Application.CommandBars.FindControl (,, CustomControlTag, False). Slet loop til Application.CommandBars.FindControl (,, _ CustomControlTag, False) Er intet ved fejl GoTo 0 End Sub 'eksempelmakroer kommandolinjeknapperne Sub MyMacroName1 () MsgBox "Tiden er" & Format (Tid, "h h: mm: ss ") End Sub Sub MyMacroName2 (Valgfri MsgBoxCaption As String =" UKendt ") MsgBox" Tiden er "& Format (Time," hh: mm: ss "), _" Denne makro blev startet fra " & MsgBoxCaption End Sub Sub MyMacroName3 (MsgBoxCaption As String, DisplayValue As Integer) MsgBox "Tiden er" & Format (Time, "hh: mm: ss"),, _ MsgBoxCaption & "" & DisplayValue End Sub