Microsoft Excel için kendi eklentinizi nasıl oluşturabilirsiniz?

Nasıl programlanacağını bilmiyor olsanız bile, Excel'de çok sayıda tipik görev için hazır VBA makro kodunu bulabileceğiniz birçok yer (kitaplar, web siteleri, forumlar) vardır. Deneyimlerime göre, çoğu kullanıcı er ya da geç, formülleri değerlere çevirmek, toplamları kelimelerle göstermek veya hücreleri renge göre toplamak olsun, rutin işlemleri otomatikleştirmek için kişisel makro koleksiyonlarını toplar. Ve burada sorun ortaya çıkıyor - Visual Basic'teki makro kodunun daha sonra işte kullanılmak üzere bir yerde saklanması gerekiyor.

En kolay seçenek, klavye kısayolunu kullanarak Visual Basic düzenleyicisine giderek makro kodunu doğrudan çalışma dosyasına kaydetmektir. Ara Toplam+F11 ve menü aracılığıyla yeni bir boş modül ekleme Ekle – Modül:

Bununla birlikte, bu yöntemin birkaç dezavantajı vardır:

  • Çok sayıda çalışan dosya varsa ve formülleri değerlere dönüştürmek için bir makro gibi her yerde bir makro gerekiyorsa, kodu kopyalamanız gerekir. her kitapta.
  • unutulmamalı dosyayı makro etkin biçimde kaydet (xlsm) veya ikili kitap biçiminde (xlsb).
  • Böyle bir dosyayı açarken makro koruma her seferinde onaylanması gereken bir uyarı verir (peki veya korumayı tamamen devre dışı bırakın, bu her zaman istenmeyebilir).

oluşturmak daha zarif bir çözüm olacaktır. kendi eklentiniz (Excel Eklentisi) – tüm "favori" makrolarınızı içeren özel bir formatta (xlam) ayrı bir dosya. Bu yaklaşımın avantajları:

  • Bu yeterli olacak eklentiyi bir kez bağla Excel'de - ve VBA prosedürlerini ve işlevlerini bu bilgisayardaki herhangi bir dosyada kullanabilirsiniz. Çalışma dosyalarınızı xlsm- ve xlsb-formatlarında yeniden kaydetmeniz bu nedenle gerekli değildir, çünkü. kaynak kodu bunlarda değil, eklenti dosyasında saklanacaktır.
  • Koruması makrolardan da rahatsız olmazsınız. eklentiler, tanım gereği, güvenilir kaynaklardır.
  • Yapabilir ayrı sekme eklenti makrolarını çalıştırmak için güzel düğmelerle Excel şeridinde.
  • Eklenti ayrı bir dosyadır. Onun taşıması kolay bilgisayardan bilgisayara, iş arkadaşlarıyla paylaş hatta sat 😉

Adım adım kendi Microsoft Excel eklentinizi oluşturma sürecinin tamamını gözden geçirelim.

Adım 1. Bir eklenti dosyası oluşturun

Microsoft Excel'i boş bir çalışma kitabıyla açın ve uygun herhangi bir adla kaydedin (örneğin MyExcelAddin'im) komutuyla eklenti biçiminde Dosya – Farklı Kaydet veya anahtarlar F12, dosya türünü belirterek Excel Eklentisi:

Lütfen Excel'in varsayılan olarak eklentileri C:UsersYour_nameAppDataRoamingMicrosoftAddIns klasöründe sakladığını unutmayın, ancak prensipte sizin için uygun olan başka herhangi bir klasörü belirtebilirsiniz.

Adım 2. Oluşturulan eklentiyi bağlarız

Şimdi son adımda oluşturduğumuz eklenti MyExcelAddin'im Excel'e bağlı olmalıdır. Bunu yapmak için menüye gidin Dosya – Seçenekler – Eklentiler (Dosya — Seçenekler — Eklentiler), düğmeye tıklayın Hakkımızda (Gitmek) pencerenin alt kısmında. Açılan pencerede düğmesine tıklayın Değerlendirme (Araştır) ve eklenti dosyamızın konumunu belirtin.

Her şeyi doğru yaptıysanız, o zaman bizim MyExcelAddin'im mevcut eklentiler listesinde görünmelidir:

Adım 3. Eklentiye makro ekleyin

Eklentimiz Excel'e bağlı ve başarılı bir şekilde çalışıyor ancak içinde henüz tek bir makro yok. Hadi dolduralım. Bunu yapmak için klavye kısayoluyla Visual Basic düzenleyicisini açın. Ara Toplam+F11 veya düğme ile Visual Basic çıkıntı geliştirici (Geliştirici). sekmeler ise geliştirici görünmez, aracılığıyla görüntülenebilir Dosya – Seçenekler – Şerit Kurulumu (Dosya — Seçenekler — Şeridi Özelleştir).

Editörün sol üst köşesinde bir pencere olmalı Proje (görünmüyorsa, menüden açın Görünüm — Proje Gezgini):

Bu pencere, bizimki de dahil olmak üzere tüm açık çalışma kitaplarını ve çalışan Microsoft Excel eklentilerini görüntüler. VBAProjesi (MyExcelAddin.xlam) Fare ile seçin ve menüden ona yeni bir modül ekleyin Ekle – Modül. Bu modülde eklenti makrolarımızın VBA kodunu saklayacağız.

Kodu sıfırdan yazabilirsiniz (programlamayı biliyorsanız) veya hazır bir yerden kopyalayabilirsiniz (ki bu çok daha kolaydır). Test için basit ama kullanışlı bir makronun kodunu eklenen boş modüle girelim:

Kodu girdikten sonra sol üst köşede bulunan kaydet butonuna (disket) tıklamayı unutmayınız.

makromuz Formüllerden Değerlere, kolayca tahmin edebileceğiniz gibi, formülleri önceden seçilmiş bir aralıktaki değerlere dönüştürür. Bazen bu makrolar da denir prosedürler. Çalıştırmak için formüllü hücreleri seçmeniz ve özel bir iletişim kutusu açmanız gerekir. Makrolar sekmeden geliştirici (Geliştirici — Makrolar) veya klavye kısayolu Ara Toplam+F8. Normalde, bu pencere tüm açık çalışma kitaplarındaki kullanılabilir makroları gösterir, ancak eklenti makroları burada görünmez. Buna rağmen prosedürümüzün adını alana girebiliriz. makro adı (Makro adı)ve ardından düğmesine tıklayın koşmak (koşmak) – ve makromuz çalışacaktır:

    

Burada ayrıca bir makroyu hızlı bir şekilde başlatmak için bir klavye kısayolu atayabilirsiniz - bundan düğme sorumludur parametreler (Seçenekler) önceki pencerede Makro:

Tuşları atarken, bunların büyük/küçük harfe duyarlı ve klavye düzenine duyarlı olduklarını unutmayın. Yani şöyle bir kombinasyon atarsanız Ctrl+Й, o zaman aslında gelecekte düzenin açık olduğundan emin olmanız ve ek olarak tuşuna basmanız gerekecek vardiyabüyük harf almak için.

Kolaylık sağlamak için, pencerenin sol üst köşesindeki hızlı erişim araç çubuğuna makromuz için bir düğme de ekleyebiliriz. Bunu yapmak için Dosya – Seçenekler – Hızlı Erişim Araç Çubuğu (Dosya — Seçenekler — Hızlı Erişim Araç Çubuğunu Özelleştirin)ve ardından pencerenin üst kısmındaki açılır listede seçenek Makrolar. bundan sonra makromuz Formüllerden Değerlere butonu ile panel üzerine yerleştirilebilir Ekle (Ekleme) ve düğmeyle bunun için bir simge seçin değişim (Edit):

Adım 4. Eklentiye işlevler ekleyin

Fakat makro prosedürler, Ayrıca orada fonksiyon makroları veya denildiği gibi UDF (Kullanıcı Tanımlı İşlev = kullanıcı tanımlı işlev). Eklentimizde ayrı bir modül oluşturalım (menü komutu Ekle – Modül) ve aşağıdaki işlevin kodunu buraya yapıştırın:

KDV dahil tutardan KDV çıkarmak için bu fonksiyonun gerekli olduğu kolayca görülmektedir. Elbette Newton'un iki terimlisi değil, ancak temel ilkeleri göstermek için bir örnek olarak işimize yarayacaktır.

Bir işlevin sözdiziminin bir prosedürden farklı olduğuna dikkat edin:

  • inşaat kullanılır İşlev …. Bitiş İşlevi yerine Alt … Alt Alt
  • fonksiyonun adından sonra argümanları parantez içinde belirtilir.
  • fonksiyonun gövdesinde gerekli hesaplamalar yapılır ve sonuç fonksiyonun ismi ile bir değişkene atanır.

Ayrıca, bu işlevin gerekli olmadığını ve iletişim kutusundan önceki makro prosedürü gibi çalıştırmanın imkansız olduğunu unutmayın. Makrolar ve düğme koşmak. Bu tür bir makro işlevi, standart bir çalışma sayfası işlevi olarak kullanılmalıdır (TOPLA, EĞER, DÜŞEYARA…), yani herhangi bir hücreye girin ve KDV'li tutarın değerini argüman olarak belirtin:

… veya bir fonksiyon eklemek için standart iletişim kutusundan girin (düğme fx formül çubuğunda), bir kategori seçme Kullanıcı Tanımlı (Kullanıcı tanımlı):

Buradaki tek hoş olmayan an, pencerenin altındaki işlevin olağan açıklamasının olmamasıdır. Eklemek için aşağıdakileri yapmanız gerekir:

  1. Bir klavye kısayoluyla Visual Basic Düzenleyicisini açın Ara Toplam+F11
  2. Proje panelinde eklentiyi seçin ve tuşuna basın F2Nesne Tarayıcı penceresini açmak için
  3. Pencerenin üst kısmındaki açılır listeden eklenti projenizi seçin
  4. Görünen fonksiyona sağ tıklayın ve komutu seçin Emlaklar.
  5. Pencereye işlevin bir açıklamasını girin Açıklama
  6. Eklenti dosyasını kaydedin ve excel'i yeniden başlatın.

Yeniden başlattıktan sonra, fonksiyon girdiğimiz açıklamayı göstermelidir:

Adım 5. Arayüzde bir eklenti sekmesi oluşturun

Son, zorunlu olmasa da, hoş dokunuş, eklentimizi bağladıktan sonra Excel arayüzünde görünecek olan makromuzu çalıştırmak için bir düğme ile ayrı bir sekme oluşturulması olacaktır.

Varsayılan olarak görüntülenen sekmelerle ilgili bilgiler kitap içinde yer alır ve özel bir XML kodunda biçimlendirilmelidir. Bu tür bir kodu yazmanın ve düzenlemenin en kolay yolu, özel programlar – XML editörleri yardımıyla. En uygun (ve ücretsiz) programlardan biri Maxim Novikov'un programıdır. Şerit XML Düzenleyicisi.

Onunla çalışmak için algoritma aşağıdaki gibidir:

  1. Eklenti XML kodunu düzenlediğimizde dosya çakışması olmaması için tüm Excel pencerelerini kapatın.
  2. Ribbon XML Editor programını başlatın ve içindeki MyExcelAddin.xlam dosyamızı açın.
  3. düğme ile sekmeler sol üst köşede, yeni sekme için kod parçacığını ekleyin:
  4. Boş tırnak koymanız gerekiyor id sekmemiz ve grubumuz (herhangi bir benzersiz tanımlayıcı) ve etiket – sekmemizin adları ve üzerindeki bir grup düğme:
  5. düğme ile düğmesine tıklayın sol panelde, düğme için boş bir kod ekleyin ve buna etiketler ekleyin:

    - etiket düğmedeki metin

    — imageMso — bu, düğmedeki görüntünün koşullu adıdır. AnimationCustomAddExitDialog adlı kırmızı bir düğme simgesi kullandım. Mevcut tüm düğmelerin adları (ve bunlardan birkaç yüz tane var!), “imageMso” anahtar kelimelerini ararsanız, İnternet'teki çok sayıda sitede bulunabilir. Yeni başlayanlar için buraya gidebilirsiniz.

    - Eylemde – bu geri arama prosedürünün adıdır – ana makromuzu çalıştıracak özel bir kısa makro Formüllerden Değerlere. Bu prosedürü istediğiniz gibi adlandırabilirsiniz. Biraz sonra ekleyeceğiz.

  6. Araç çubuğunun üstünde yeşil bir onay işareti bulunan düğmeyi kullanarak yapılan her şeyin doğruluğunu kontrol edebilirsiniz. Aynı yerde, tüm değişiklikleri kaydetmek için disket bulunan düğmeye tıklayın.
  7. Şerit XML Düzenleyicisini kapatın
  8. Excel'i açın, Visual Basic düzenleyicisine gidin ve makromuza bir geri arama prosedürü ekleyin KillFormüllerböylece formülleri değerlerle değiştirmek için ana makromuzu çalıştırır.
  9. Değişiklikleri kaydediyoruz ve Excel'e dönerek sonucu kontrol ediyoruz:

Hepsi bu kadar – eklenti kullanıma hazır. Kendi prosedürleriniz ve işlevlerinizle doldurun, güzel düğmeler ekleyin - işinizde makroları kullanmak çok daha kolay hale gelecektir.

  • Makro nedir, işinizde nasıl kullanılır, Visual Basic'te makro kodu nereden alınır.
  • Excel'de bir çalışma kitabını açarken açılış ekranı nasıl yapılır
  • Kişisel Makro Kitabı nedir ve nasıl kullanılır?

Yorum bırak