Macro toevoegen aan contextmenu
Maak je vaak gebruik van een bepaalde macro, dan kan het handig zijn om deze toe te voegen aan het contextmenu (het menu dat tevoorschijn floept wanneer je met de rechtermuisknop klikt op een cel).
Open hiervoor de VBA-editor en plaats onderstaande code in ThisWorkbook.
Private Sub Workbook_Open()
Dim MyContextMenu As Object
Set MyContextMenu = Application.ShortcutMenus(xlWorksheetCell) _
.MenuItems.AddMenu("My Custom Menu Item", 1)
With MyContextMenu.MenuItems
.Add "Swap Two Cells", "SwapTwoCells", , 1, , ""
.Add "My macro 2", "MyMacro2", , 2, , ""
End With
Set MyContextMenu = Nothing
End Sub
Bovenstaande code maakt een menu-item op de bovenste regel met als label “My Custom Menu Item”. Vervolgens worden binnen dit menu-item twee macro’s toegevoegd:
- SwapTwoCells (wordt weergegeven als Swap Two Cells);
- MyMacro2 (wordt weergegeven als My macro 2).
Plaats onderstaande code in een module of onder bovenstaande code.
De SwapTwoCells-functie zorgt ervoor dat de waarden uit twee geselecteerde cellen met elkaar verwisseld worden.
Macro2 laat een messagebox zien met de melding “Macro2 from a contextmenu”.
Sub SwapTwoCells()
Dim sHolder As String
If Selection.Cells.Count = 2 Then
With Selection
sHolder = .Cells(1).formula
If .Areas.Count = 2 Then ' Cells selected using Ctrl key
.Areas(1).formula = .Areas(2).formula
.Areas(2).formula = sHolder
Else ' Adjacent cells are selected
.Cells(1).formula = .Cells(2).formula
.Cells(2).formula = sHolder
End If
End With
Else
MsgBox "Select only TWO cells to swap", vbCritical
End If
End Sub
Public Sub mymacro2()
MsgBox "Macro2 from a contextmenu"
End Sub
Sluit je Excel-document en sla het op. Zodra je deze opnieuw opent is er een extra menu-item toegevoegd aan je contextmenu.
Dit delen:
- Klik om te delen met Twitter (Wordt in een nieuw venster geopend)
- Klik om te delen op Facebook (Wordt in een nieuw venster geopend)
- Zoeken
- Klik om dit te e-mailen naar een vriend (Wordt in een nieuw venster geopend)
- Klik om op LinkedIn te delen (Wordt in een nieuw venster geopend)
- Gebruiker (Wordt in een nieuw venster geopend)
- Front-end SEO-inspecteur (Wordt in een nieuw venster geopend)
- Statistieken (Wordt in een nieuw venster geopend)
- Meldingen (Wordt in een nieuw venster geopend)