Daftar Isi:
- Jika Anda telah menggunakan VBA untuk bekerja dengan menu shortcut di Excel 2007 atau sebelumnya, Anda harus menyadari adanya perubahan yang berarti.
Video: Inilah Cara Menampilkan UserForm tanpa Worksheet 2024
Sebelum Excel 2007, pemrogram VBA menggunakan objek CommandBar untuk membuat menu kustom, toolbar kustom, dan menu pintasan kustom (klik kanan). Dimulai dengan Excel 2007, objek CommandBar berada dalam posisi yang agak aneh. Jika Anda menulis kode untuk menyesuaikan menu atau toolbar, Excel menyadap kode itu dan mengabaikan banyak perintah Anda. <_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Intinya? Objek CommandBar tidak lagi berguna, tapi tetap satu-satunya cara untuk menyesuaikan menu shortcut.
Menambahkan item baru ke menu jalan pintas Cell
Anda dapat meningkatkan utilitas Change Case sedikit dengan membuatnya tersedia dari menu shortcut Cell.
Prosedur AddToShortcut menambahkan item menu baru ke menu shortcut Cell. Anda dapat menyesuaikannya untuk menunjuk ke makro Anda sendiri dengan mengubah properti Caption dan OnAction dari objek bernama NewControl.
Bila Anda memodifikasi menu shortcut, modifikasi itu tetap berlaku sampai Anda me-restart Excel. Dengan kata lain, menu pintas yang dimodifikasi tidak mengatur ulang sendiri saat Anda menutup buku kerja yang berisi kode VBA. Karena itu, jika Anda menulis kode untuk memodifikasi menu shortcut, Anda hampir selalu menulis kode untuk membalikkan efek modifikasi Anda.
Prosedur DeleteFromShortcut menghapus item menu baru dari menu shortcut Cell:
Sub DeleteFromShortcut () Pada Error Resume Next Application. CommandBars ("Cell"). Kontrol _ ("& Ganti Kasus"). Delete End Sub
Ini menunjukkan bagaimana item menu baru ditampilkan setelah Anda mengklik kanan sebuah sel.
Menu jalan pintas Sel yang menampilkan item menu khusus: Ubah Kasus.
Perintah aktual pertama setelah deklarasi beberapa variabel memanggil prosedur DeleteFromShortcut. Pernyataan ini memastikan bahwa hanya satu item item Change Case yang muncul pada menu Jalan pintas. Cobalah mengomentari garis itu (beri tanda kutip di awal baris) dan jalankan prosedur beberapa kali - tapi jangan terbawa!Klik kanan sel, dan Anda dapat melihat beberapa contoh item item Change Case. Singkirkan semua entri dengan menjalankan DeleteFromShortcut beberapa kali (sekali untuk setiap item menu tambahan).
Akhirnya, Anda memerlukan cara untuk menambahkan item menu jalan pintas saat buku kerja dibuka dan untuk menghapus item menu saat buku kerja ditutup. Melakukan hal ini mudah dilakukan. Cukup tambahkan dua prosedur acara ini ke modul kode ThisWorkbook:
Private Sub Workbook_Open () Panggil AddToShortCut End Sub Private Sub Workbook_BeforeClose (Batal As Boolean) Panggil DeleteFromShortcut End Sub
Prosedur Workbook_Open dijalankan saat buku kerja dibuka, dan prosedur Workbook_Beforeclose dijalankan sebelum buku kerja ditutup. Hanya apa yang diperintahkan dokter.
Apa yang berbeda dalam Excel 2013 dan Excel 2016?
Jika Anda telah menggunakan VBA untuk bekerja dengan menu shortcut di Excel 2007 atau sebelumnya, Anda harus menyadari adanya perubahan yang berarti.
Di masa lalu, jika kode Anda memodifikasi menu jalan pintas, modifikasi itu berlaku untuk semua buku kerja. Misalnya, jika Anda menambahkan item baru ke menu klik kanan sel, item baru itu akan muncul saat Anda mengklik kanan sebuah sel di
setiap workbook (ditambah buku kerja lain yang Anda buka di kemudian hari). Dengan kata lain, modifikasi menu shortcut dilakukan pada level application . Excel 2013 dan Excel 2016 menggunakan satu antarmuka dokumen, dan itu mempengaruhi menu shortcut. Perubahan yang Anda buat pada menu shortcut hanya mempengaruhi jendela workbook yang aktif. Saat Anda menjalankan kode yang memodifikasi menu shortcut, menu shortcut untuk windows selain active window tidak akan berubah. Ini adalah kepergian radikal dari bagaimana segala sesuatunya bekerja.
Tipuan lain: Jika pengguna membuka buku kerja (atau membuat buku kerja baru) saat jendela aktif menampilkan menu jalan pintas yang dimodifikasi, buku kerja yang baru juga menampilkan menu jalan pintas yang dimodifikasi. Dengan kata lain, jendela baru menampilkan menu jalan pintas yang sama seperti jendela yang aktif saat jendela baru dibuka.
Intinya: Di masa lalu, jika Anda membuka buku kerja atau menambahkan menu pintasan yang dimodifikasi, Anda dapat yakin bahwa menu pintasan yang dimodifikasi akan tersedia di semua buku kerja. Anda tidak lagi memiliki kepastian itu.