Beranda > Excel > MENAMBAHKAN MENU PADA WORKSHEET MENU BAR DENGAN MACRO

MENAMBAHKAN MENU PADA WORKSHEET MENU BAR DENGAN MACRO


dahoeloe kala pernah saya bahas tentang custom toolbar pada Excel, silahkan sOdara liYat toelisannya disini, tulisan kali ini sedikit banyak maNGsih ada hubungan dengan tulisan tersebOt, kali ini saya bahas tentang menambahkan menu pada Worksheet Menu Bar

Worksheet Menu Bar itu apaan sih :?: :roll:   kalO di excel 2003 penampakannya akan kayaK skrinsyut berikOt ini :

kalO soal menambahkan menu secara manual sudah dibahas pada tulisan custom toolbar , sekarang kita bahas bagaimana cara menambahkan menu lewat Kode Macro… misalnya pada saat kita membuka suWatu file maka secara otomatis akan ditambahkan menu2 baru pada Worksheet Menu Bar Excel Kita … dan sebaliknya pada saat kita tutup filenya menu2 tersebut akan ngilang.

secara bodo2an menurut saya ada duWa macem kontrol yang bisa kita tambahkan yaitu :

  1. Menu yang berupa ControlPopup dan
  2. Menu Item yang berupa ControlButton

perbedaan keduanya adalaht:

pada ControlPopup kita dapat menambahkan kontrol2 lain …  kontrol2 yang dapat kita tambahkan dapat berupa ControlPopup maupun ControlButton

sedangkan pada ControlButton tidak dapat kita tambahkan kontrol lainnya

baEklah sekarang kita akan menambahkan menu baru pada Worksheet Menu Bar …  sebagE contoh kita bikin menu yang kita kasi nama “ContohMenu” yang terdiri atas :

1. SubMenu1, yang berupa ControlPopup , terdiri atas :

  • MenuItem1, yang berupa ControlButton yang terhubung dengan macro1
  • MenuItem2, yang berupa ControlButton yang terhubung dengan macro2
  • MenuItem3, yang berupa ControlButton yang terhubung dengan macro3

2. SubMenu2, yang berupa ControlPopup , terdiri atas :

  • MenuItem4, yang berupa ControlButton yang terhubung dengan macro4
  • MenuItem5, yang berupa ControlButton yang terhubung dengan macro5
  • SubSubMenu1, yang berupa ControlPopup , terdiri atas :
  1. MenuItem6, yang berupa ControlButton yang terhubung dengan macro6
  2. MenuItem7, yang berupa ControlButton yang terhubung dengan macro7

3. MenuItem8, yang berupa ControlButton yang terhubung dengan macro8

baEklagh sekarang kita bikin macro Auto_Close dulu … kode2 ini akan dijalankan pada saat WorkBook diClose … berisi kode macro untuk menghilangkan menu yang dimaksud (yang saya kasi nama “Contoh Menu”) dari MenuBar

Sub Auto_Close()
On Error Resume Next
Application.CommandBars(“Worksheet Menu Bar”).Controls(“ContohMenu”).Delete
End Sub

kode2 untuk menyusun Menu “Contoh Menu” saya taruh di macro Auto_Open … agar tiap kali  dibuka otomatis Menu “Contoh Menu” juga diLoad

Sub Auto_Open()
      Auto_Close
      Set Menu1 = CommandBars(“Worksheet Menu Bar”).Controls.Add(Type:=msoControlPopup, Temporary:=True)
            Menu1.Caption = “&ContohMenu”
            Menu1.BeginGroup = True
      Set SubMenu1 = Menu1.Controls.Add(Type:=msoControlPopup, Temporary:=True)
            SubMenu1.Caption = “SubMenu &1″
      Set SubMenu2 = Menu1.Controls.Add(Type:=msoControlPopup, Temporary:=True)     
           SubMenu2.Caption = “SubMenu &2″
      Set CtrlBtn8 = Menu1.CommandBar.Controls.Add(Type:=msoControlButton, ID:=1)
            With CtrlBtn8
                  .Caption = “&Delapan”
                  .TooltipText = “Menu Item 8″
                  .Style = msoButtonCaption
                  .OnAction = “macro8″
                  .BeginGroup = True
            End With
      Set Ctrl1 = SubMenu1.CommandBar.Controls _
            .Add(Type:=msoControlButton, ID:=1)
      With Ctrl1     
            .Caption = “&Satu”
            .TooltipText = “MenuItem 1″
            .Style = msoButtonCaption
            .OnAction = “macro1″
        End With
Set Ctrl2 = SubMenu1.CommandBar.Controls _
            .Add(Type:=msoControlButton, ID:=1)
With Ctrl2
            .Caption = “&Dua”
            .TooltipText = “MenuItem 2″
            .Style = msoButtonCaption
            .OnAction = “macro2″
         End With
Set Ctrl3 = SubMenu1.CommandBar.Controls _
            .Add(Type:=msoControlButton, ID:=1)
With Ctrl3
            .Caption = “&Tiga”
            .TooltipText = “MenuItem 3″
            .Style = msoButtonCaption
            .OnAction = “macro3″
End With
Set Ctrl4 = SubMenu2.CommandBar.Controls _
.Add(Type:=msoControlButton, ID:=1)
With Ctrl4
            .Caption = “&Empat”
            .TooltipText = “MenuItem 4″
            .Style = msoButtonCaption
            .OnAction = “macro4″
End With
Set Ctrl5 = SubMenu2.CommandBar.Controls _
.Add(Type:=msoControlButton, ID:=1)
With Ctrl5
            .Caption = “&LIma”
            .TooltipText = “MenuItem 5″
            .Style = msoButtonCaption
            .OnAction = “macro5″
End With
Set SubSubMenu1 = SubMenu2.Controls.Add(Type:=msoControlPopup, Temporary:=True)
SubSubMenu1.Caption = “SubSubMenu &1″
Set Ctrl6 = SubSubMenu1.CommandBar.Controls _
.Add(Type:=msoControlButton, ID:=1)
With Ctrl6
            .Caption = “&Enam”
            .TooltipText = “MenuItem 6″
            .Style = msoButtonCaption
            .OnAction = “macro6″
End With
Set Ctrl7 = SubSubMenu1.CommandBar.Controls _
.Add(Type:=msoControlButton, ID:=1)
With Ctrl7
            .Caption = “&Tujuh”
            .TooltipText = “MenuItem 7″
            .Style = msoButtonCaption
            .OnAction = “macro7″
End With
End Sub

Kode2 macro yang akan dijalankan masing2 menu adalah sebgE berikOt :

Sub macro1()
MsgBox “Jalankan kode menu Satu”, vbInformation, “Menu #1″
End Sub

Sub macro2()
      MsgBox “Jalankan kode menu Dua”, vbInformation, “Menu #2″
End Sub

Sub macro3()
      MsgBox “Jalankan kode menu Tiga”, vbInformation, “Menu #3″
End Sub

Sub macro4()
      MsgBox “Jalankan kode menu Empat”, vbInformation, “Menu #4″
End Sub

Sub macro5()
      MsgBox “Jalankan kode menu Lima”, vbInformation, “Menu #5″
End Sub

Sub macro6()
      MsgBox “Jalankan kode menu Enam”, vbInformation, “Menu #6″
End Sub

Sub macro7()
      MsgBox “Jalankan kode menu Tujuh”, vbInformation, “Menu #7″
End Sub

Sub macro8()
      MsgBox “Jalankan kode Delapan”, vbInformation, “Menu #8″
End Sub

kode2 diatas ndak usah dicopy … download aja  file MenuBArMacro.xls … ada kodenya lengkap dengan keterangan … natinya pada saat file dibuka akan muncul menu seperti skrinsyut berikOt

semoga berguna dan MDLMDL :wink:

  1. haeruddin
    20 Agustus 2011 pada 9:07 am | #1

    Wah, ilmu yang sangat langka nih.
    Kalau kita ingin menyembunyikan semua menu bawaan Office dan hanya menampilkan menu buatan kita sendiri bisa nggak?

    • 20 Agustus 2011 pada 9:37 am | #2

      pengalaman saya semua menu bisa diilangin kecuali “Worksheet Menu Bar” … contoh ngilangin toolbar Standard pake kode berikot

      Application.CommandBars(“Standard”).Visible = False

      kalO “Worksheet Menu Bar” bisa diilangin SubMenunya contoh SubMenu “Data”

      Application.CommandBars(“Worksheet Menu Bar”).Controls(“Data”).Delete

  2. erpin
    20 Januari 2012 pada 9:01 pm | #3

    pak, kalo pake excel 2010 apakah caranya sama seperti diatas? Terimakasih.

    • 21 Januari 2012 pada 9:30 am | #4

      kemungkinan bisa kalau di 2007 akan muncul di Tab Add-ins … Kalo untuk merubah ribbon bisa pakai aplikasi khusus … kalau saya pakai Custom UI Editor For Microsoft Office … googling aja gampang kok nyarinya … atau baca tulisan ini

  3. Erdi
    14 Februari 2012 pada 4:07 pm | #5

    Mas Bro,,,sy punya usul,sebaiknya anda coba bikin buku tentang aplikasi excel beserta contoh2nya…

  4. Bondan
    29 Februari 2012 pada 10:17 pm | #7

    Bro, Kalau Tiap Menu ControlButton-nya untuk membuka file dokumen atau folder. kodenya gimana ?

  5. ekan
    9 Maret 2012 pada 8:23 pm | #9

    nah… kalo buat menu bar agar tampil di form macro gimana yaaa mAS…list programnya

  1. 16 Desember 2011 pada 9:27 am | #1

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.

Bergabunglah dengan 130 pengikut lainnya.