Ev Social Media VBA'da Excel 2016 Kısayol Menülerini Özelleştirme (Excel 2003'te VBA'da

VBA'da Excel 2016 Kısayol Menülerini Özelleştirme (Excel 2003'te VBA'da

İçindekiler:

Video: Excel - Üst menü şeridi ve sekmeleri düzenleme 2025

Video: Excel - Üst menü şeridi ve sekmeleri düzenleme 2025
Anonim

VBA programcıları, Excel 2007'den önce, özel menüler, özel araç çubukları ve özel kısayol (sağ tıklama) menüleri oluşturmak için CommandBar nesnesini kullandılar. Excel 2007'den başlayarak, CommandBar nesnesi oldukça tuhaf bir konumdadır. Bir menüyü veya araç çubuğunu özelleştirecek bir kod yazarsanız, Excel bu kodu engeller ve komutlarınızdan çoğunu dikkate almaz.

Excel 2007 (daha yeni sürümler gibi), daha iyi düşünülmüş arayüz geliştirme özelliğini göstermek yerine, özelleştirilmiş menülerinizi ve araç çubuklarını Eklentiler adındaki tüm yakalama şerit sekmesine döküyor.

Menü ve araç çubuğu özelleştirmeleri, Eklentiler → Menü Komutları veya Eklentiler → Özel Araç Çubukları grubunda sonuçlanır. Ancak kısayol menülerini özelleştirme (CommandBar nesnesini de kullanır) hala her zaman olduğu gibi çalışır - iyi, çeşit.

Alt satır mı? CommandBar nesnesi artık çok kullanışlı değildir, ancak kısayol menülerini özelleştirmenin tek yoludur.

Hücre kısayol menüsüne yeni bir madde ekleme

Aşağıda, bir hücreyi sağ tıklattığınızda görüntülenen kısayol menüsüne yeni bir madde ekleyen örnek kod bulacaksınız. Bu örnekleri ihtiyaçlarınıza göre uyarlamalısınız.

Hücre kısayol menüsünden onu değiştirerek Durum Değişkenini biraz geliştirin.

AddToShortcut yordamı, Hücre kısayol menüsüne yeni bir menü öğesi ekler. NewControl adlı nesnenin Caption ve OnAction özelliklerini değiştirerek kendi makrolarınıza işaret edecek şekilde uyarlayabilirsiniz.

Sub AddToShortCut () Dim Bar olarak CommandBar Dim Yeni Kontrol olarak CommandBarButton DeleteFromShortcut Set Bar = Uygulama. CommandBars ("Cell") NewControl = Bar ayarlayın. Kontroller. _ (Tür: msoControlButton, KIMLIK: = 1, _ geçici: = True) NewControl ile ekleyin. Caption = "& Değişiklik Durumu". OnAction = "ChangeCase". Style = msoButtonIconAndCaption End With End Sub

Bir kısayol menüsünü değiştirdiğinizde, Excel'de yeniden başlatılıncaya kadar bu değişiklik geçerliliğini korur. Başka bir deyişle, VBA kodunu içeren çalışma kitabını kapattığınızda değiştirilmiş kısayol menüleri kendilerini sıfırlamaz. Bu nedenle, bir kısayol menüsünü değiştirmek için bir kod yazarsanız, değişikliğinizin etkisini tersine çevirmek için neredeyse daima kod yazarsınız.

DeleteFromShortcut yordamı, yeni menü öğesini Hücre kısayol menüsünden kaldırır:

Alt DeleteFromShortcut () On Error Bir Sonraki Uygulamayı Devam Etme. CommandBars (“Hücre”). Kontrolleri _ ("& Değişiklik Durum"). Delete End Sub

Bu, bir hücreyi sağ tıkladıktan sonra yeni menü öğesinin nasıl görüntülendiğini gösterir.

Özel bir menü öğesini gösteren Hücre kısayol menüsü: Durumu Değiştir.

Birkaç değişkenin bildiriminden sonraki ilk gerçek komut DeleteFromShortcut yordamı çağırmaktadır. Bu ifade, Hücre menüsündeki kısayolun üzerinde yalnızca bir Durum Değiştirme menü öğesinin görünmesini sağlar. Bu satırı yorumlamayı deneyin (satır başında kesme işareti koyun) ve işlemi birkaç kez çalıştırın - ancak kaçınılması gerekmez!

Bir hücreyi sağ tıklatın ve Durum Değişikliği menü öğesinin birden çok örneğini görebilirsiniz. DeleteFromShortcut'ı birden çok kez çalıştırarak (her ekstra menü öğesi için bir kez) tüm girişlerden kurtulun.

Son olarak, çalışma kitabı açıldığında kısayol menüsünü eklemenin ve çalışma kitabı kapatıldığında menü öğesini silmanın bir yoluna ihtiyacın var. Bunu yapmak kolaydır. Bu iki olay yordamını ThisWorkbook kod modülüne eklemeniz yeterlidir:

Özel Alt Workbook_Open () Çağır AddToShortCut End Sub Özel Sub Workbook_BeforeClose (İptal olarak Boolean) DeleteFromShortcut End Sub

Workbook_Open yordamı, çalışma kitabı açıldığında, ve Workbook_BeforeClose yordamı, çalışma kitabı kapanmadan önce yürütülür. Sadece doktorun emrettiği şey.

Excel 2013 ve Excel 2016'da nelerin farklılığı var?

Excel 2007 veya önceki sürümlerinde kısayol menüleri ile çalışmak için VBA kullandıysanız, önemli bir değişikliğin farkında olmalısınız.

Geçmişte, kodunuz bir kısayol menüsü değiştirdiyse, bu değişiklik tüm çalışma kitapları için geçerli oldu. Örneğin, Hücre sağ tıklama menüsüne yeni bir madde eklediyseniz, herhangi bir çalışma kitabındaki (artı daha sonra açacağınız diğer çalışma kitapları) bir hücreyi sağ tıkladığınızda o yeni madde görünür. Başka bir deyişle, uygulama düzeyinde kısayol menüsü değişiklikleri yapılmıştır.

Excel 2013 ve Excel 2016 tek bir belge arabirimi kullanır ve kısayol menülerini etkiler. Kısayol menüsünde yaptığınız değişiklikler yalnızca etkin çalışma kitabı penceresini etkiler. Kısayol menüsünü değiştiren kodu yürüttüğünüzde, etkin pencere dışındaki pencereler için kısayol menüsü değiştirilmez. Bu işlerin eskisinden nasıl radikal bir ayrılmadır.

Diğer bir bükülme: Etkin pencere değiştirilmiş kısayol menüsünü görüntülediğinde kullanıcı bir çalışma kitabı açarsa (veya yeni bir çalışma kitabı oluşturursa), yeni çalışma kitabı da değiştirilmiş kısayol menüsünü görüntüler. Başka bir deyişle, yeni pencereler, yeni pencereler açıldığında aktif olan pencere ile aynı kısayol menülerini görüntüler.

Sonuç: Geçmişte, kısayol menülerini değiştiren bir çalışma kitabı veya eklentiyi açtıysanız, değiştirilen kısayol menülerinin tüm çalışma kitaplarında bulunabileceğinden emin olabilirsiniz. Artık güvencen yok.

VBA'da Excel 2016 Kısayol Menülerini Özelleştirme (Excel 2003'te VBA'da

Editörün Seçimi

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Genişletme Bağlantılar ve Bina Robotları için Pinouts - mankenler

Eğer bir robot inşa ediyorsanız, çok sayıda elektrik bağlantısı, bu yüzden çok sayıda iğne ile uğraşıyorsunuz. Aşağıdaki tabloda, genişleme konektörleri ve pim numaraları için sinyal gösterilmektedir. İstenmeyen çapraz bağlantıları önlemeye yardımcı olabilir. Genişletme Konnektörü Pin Numarası Sinyal Genleşmesi Konnektör Pin Numarası Sinyal 1, 2 Toprak 16 P11 Yeşil LED 3, 4 + 5 ...

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Dizinler içeren Kablosuz Erişim Noktalarını bulma - mankenler

Sıcak noktaları bulma konusunda çevrimiçi dizinler, gezinmek için mükemmel bir araçtır. ABD, Kanada ve dünyadaki artan sayıda sıcak nokta. Size kolaylık sağlamak için, bu dizinlerden bazıları. Dizin Notları JiWire WiFi Bulucu 144 ülkede ücretsiz ve ücretli Wi-Fi yerleri dizini sağlar. AT & T ...

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Ham Radyoda genel Sınıf Frekans Ayrıcalıkları - mankenler

Yakında yapmadıysanız, siz Yükseltmeyi düşünüyorum. Aşağıdaki tabloda gösterildiği gibi, yüksek frekanslı (HF) bantlarda kullanmak için daha fazla frekansa sahipsiniz. Tüm lisans sınıfları için ABD frekansı ve mod ayrıcalıklarının eksiksiz bir listesi, Amerikan Radyo Röle Ligi'nden (ARRL) edinilebilir. Bant Frekansları ...

Editörün Seçimi

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da Maske Katmanlarını Kullanma - mankenler

Adobe Flash CS6'da maskeleme kavramı Bir parçanın bölümlerini gizlemek ya da ortaya çıkarmak için bir şekli (ya da şekilleri) kullanır - tıpkı evinizdeki küçük bir pencere aracılığıyla dışarıdan bakmak gibi. Pencere boyutu, içerideyken görebileceğiniz şeyi sınırlar. Flash, özel bir katman özelliklerine sahiptir ...

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Flash CS5 3D Rotasyon Aletinin Kullanımı - mankenler

Adobe'nin kapsamlı çizim ve animasyon yetenekleri Flash Creative Suite 5, Flash'ın 3D Döndürme aracıyla büyük ölçüde geliştirilebilir. 3B Döndürme aracı, sembolü x, y ve z eksenleri etrafında döndürmek ve dönüştürmek için herhangi bir film klibi örneğinde kullanılabilir. Bir film klibi örneğini 3D olarak oluşturmak için bunları izleyin ...

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

Flash CS5 3D Çeviri Aletini Kullanma - aumlalar

In 3D Döndürme aracının aksine Flash CS5 film kliplerini bir eksen etrafında döndüren Adobe Flash Creative Suite 5, 3D Çeviri aracı, bir film klibini algılanan mesafeyi ve sahnedeki diğer nesnelere göre derinliğini değiştirmek için belirli bir eksende kaydırır. Bu kavramı üçlü düşünün ...

Editörün Seçimi

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Pratik İlköğretim Sınavı-Grafik Çözümleri - mankenler

Praxis İlköğretim sınavının Matematik bölümü bir dizi çizgide bir eşitsizliğe çözüm bulmanızı gerektiren bir soru. Başlamak için, çözümdeki sayıya bir nokta koyarsınız. Sembolü> veya

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Pratik İlk Öğretim Sınavı-Ölüm Şekilleri - mankenler

Praxis İlköğretim Matematik ve Bilim bölümleri Eğitim sınavı, farklı ölçme şekillerine aşina olmanız gereken sorular içerir. Ölçümler, çeşitli tiplerde tanımlanabilir. Mesafe için İngilizce sistem birimleri inç, feet, metre ve mil içerir. Bunlar birbirine dayanır. Bir ayak 12 ...

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Pratik İlk Öğretim Sınavı-Akıcılık - mankenler

Praxis İlköğretim sınavı, yardımcı stratejilerinizi test eden sorular içerir öğrenciler akıcılıklarını İngilizce olarak geliştirirler. Bu stratejiler, grafik düzenleyicileri kullanarak ve çıkarımlar yapmayı içerebilir. Akıcı bir okuyucu, sınıf düzeyinde bir metni doğruluk, çabukluk ve ifade ile okuyabilir.