Kamis, 13 Mei 2010

Membuat Shortcut Menu Untuk Macro

Ketika kita hendak menjalankan suatu macro dengan cara klik menu Tools -> Macro -> Macros, disana terlihat begitu banyak daftar macro yang terdapat di dalam seluruh wokbook yang sedang dibuka, termasuk juga seluruh daftar macro yang terdapat di dalam file Personal.xls. Data macro yang terlalu banyak akan menyulitkan kita dalam mencari suatu macro, padahal bisa jadi yang hendak kita run hanya 1 atau 2 macro saja.
Solusinya bisa dengan cara membuat shorcut menu untuk beberapa macro yang biasa kita jalankan. Mari kita coba belajar cara membuat shortcut menu untuk macro. Silahkan buat file Excel baru, tekan ALT+F11. Klik dua kali Personal.xls, lalu klik Insert -> Module. Paste procedure sbb:
Sub Convert2Proper()
    Call AllConverter(1)
End Sub
Sub Convert2Lower()
    Call AllConverter(2)
End Sub
Sub Convert2Upper()
    Call AllConverter(3)
End Sub
Sub Convert2Double()
    Call AllConverter(4)
End Sub
Sub Convert2Long()
    Call AllConverter(5)
End Sub
Sub Convert2Currency()
    Call AllConverter(6)
End Sub
Sub Convert2Date()
    Call AllConverter(7)
End Sub
Sub Convert2String()
    Call AllConverter(8)
End Sub
Sub AllConverter(Jenis As Integer)
'(c) 2007, Opi, for milis belajar-excel
On Error GoTo nol
    Dim Sell As Range
    For Each Sell In ActiveWorkbook. _
      ActiveSheet.Range(ActiveWindow. _
      RangeSelection.Address)
        Select Case Jenis
            Case 1 'Ke Proper
                Sell.Value = StrConv(Sell.Value, _
                  vbProperCase)
            Case 2 'Ke Lower
                Sell.Value = StrConv(Sell.Value, _
                  vbLowerCase)
            Case 3 'Ke Upper
                Sell.Value = StrConv(Sell.Value, _
                  vbUpperCase)
            Case 4 'Ke Double/Desimal
                Sell.Value = CDbl(Sell.Value)
            Case 5 'Ke Long Integer/Bilangan Bulat
                Sell.Value = CLng(Sell.Value)
            Case 6 'Ke dalam format Currency
                Sell.Value = CCur(Sell.Value)
            Case 7 'Ke dalam format Date/Tanggal
                Sell.Value = CDate(Sell.Value)
            Case 8 'Ke dalam format String/Text
                Sell.Value = CStr(Sell.Value)
        End Select
    Next Sell
    MsgBox "Proses sudah selesai."
nol:
End Sub
Keluarlah dari VBA, lalu klik menu Tools -> Customize. Klik tab Commands, pilih New Menu. Klik and drag ke sebelah Help.
Klik kanan New Menu, ganti namanya menjadi Custom Menu.
Tambahkan kembali New Menu di bawah Custom Menu ini. Set namanya menjadi Convert Ke.
Pada Customize, klik Macros. Klik and drag ke Custom Menu Item disebelah kanan Custom Menu -> Convert Ke. Ulangi sebanyak 7 kali. Lihatlah gambar dibawah ini untuk lebih jelasnya.
Ganti nama masing-masing Custom Menu Item ini, dengan cara klik kanan, lalu isi dengan nama-nama sebagai barikut:
- Proper (Title)
- Lower (Huruf Kecil)
- Upper (Huruf Besar)
- Double / Desimal
- Long Integer / Bulat
- Currency / Mata Uang
- Date / Tanggal
- String / Teks
Hasilnya akan menjadi sebagai berikut:
Klik kanan menu Proper (Title), pilih Assign Macro. Pilih macro PERSONAL.XLS!Convert2Proper. Begitu seterusnya untuk masing-masing menu baru ini, pilih Assign Macro, lalu pilih macro yang sesuai, sesuai dengan fungsi macronya, yakni:
Nama Menu
Nama Assign Macro
 Proper (Title)
PERSONAL.XLS!Convert2Proper
 Lower (Huruf Kecil)
PERSONAL.XLS! Convert2Lower
 Upper (Huruf Besar)
PERSONAL.XLS! Convert2Upper
 Double / Desimal
PERSONAL.XLS! Convert2Double
 Long Integer / Bulat
PERSONAL.XLS! Convert2Long
 Currency / Mata Uang
PERSONAL.XLS! Convert2Currency
 Date / Tanggal
PERSONAL.XLS! Convert2Date
 String / Teks
PERSONAL.XLS! Convert2String
Setelah selesai, close kotak Customize. Lalu cobalah blok suatu cell atau suatu range yang berisi data teks, pilih menu Custom Menu -> Convert Ke -> Proper (Title). Maka proses akan langsung dijalankan.
Dengan cara yang sama, Anda bisa menambahkan menu-menu baru untuk macro-macro lainnya. Selamat Mencoba...

http://bysatria.wordpress.com/2009/01/20/membuat-combo-box-menu-di-excel-dengan-list-sources-pada-worksheet-yang-berbeda/

0 komentar:

Posting Komentar

Template by : kendhin x-template.blogspot.com