Bu dosya, Excel'de bir hücreye sağ tıklandığında açılan kısayol menüsüne VBA ile özel bir komut eklemeyi gösteren örnek bir çalışmadır. Eklenen düğme, seçili hücrelerde metni kaydırma (Wrap Text) komutunu tek tıkla çalıştırır.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sheet1: A1:H14 aralığını kapsayan boş çalışma sayfası. Menü düğmesini denemek için kullanılır; formül, tablo veya grafik içermez.
- ThisWorkbook modülü: Dosya açılırken ve kapanırken çalışan olay kodlarını barındırır.
- Module1 modülü: Menü öğesini ekleyen, silen ve düğmenin çalıştıracağı işlemi tanımlayan prosedürleri içerir.
Makrolar
- Workbook_Open: Dosya açıldığında otomatik çalışır ve AddToShortCut prosedürünü çağırır.
- Workbook_BeforeClose: Dosya kapanmadan önce çalışır ve DeleteFromShortcut prosedürünü çağırarak eklenen menü öğesini kaldırır.
- AddToShortCut: Önce varsa eski öğeyi siler, ardından Cell kısayol menüsüne "ExcelDepo Test" başlıklı bir düğme ekler. Düğme geçicidir (temporary), simgesi Excel'in yerleşik WrapText görseliyle gelir ve tıklandığında ToggleWordWrap çalışır. Başlıktaki "T" harfi klavye erişim tuşu olarak tanımlıdır.
- ToggleWordWrap: ExecuteMso ile Excel'in "Metni Kaydır" komutunu seçili hücrelere uygular.
- DeleteFromShortcut: Menüdeki "ExcelDepo Test" öğesini siler. Öğe yoksa hata oluşmaması için On Error Resume Next kullanılır.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Sheet1 üzerinde metin içeren bir hücre seçin.
- Hücreye sağ tıklayın; menüde "ExcelDepo Test" düğmesi görünür.
- Düğmeye tıklayın; seçili hücrelerde metni kaydırma açılır veya kapanır.
- Kendi komutunuzu eklemek için Alt+F11 ile VBA düzenleyicisini açın; Module1 içindeki Caption, OnAction ve simge adını değiştirin, çalışacak işlemi ayrı bir prosedür olarak yazın.