Microsoft Excel üçün öz eklentinizi necə yaratmaq olar

Proqramlaşdırmağı bilmirsinizsə belə, Excel-də çox sayda tipik tapşırıqlar üçün hazır VBA makro kodunu tapa biləcəyiniz bir çox yer (kitablar, veb saytlar, forumlar) var. Təcrübəmə görə, əksər istifadəçilər gec-tez gündəlik prosesləri avtomatlaşdırmaq üçün öz şəxsi makro kolleksiyasını toplayırlar, istər düsturları dəyərlərə çevirsinlər, istər sözlərlə məbləğlər göstərsinlər, istərsə də xanaları rəngə görə toplayırlar. Və burada problem yaranır – Visual Basic-də makro kodu daha sonra işdə istifadə etmək üçün haradasa saxlanmalıdır.

Ən asan seçim klaviatura qısa yolundan istifadə edərək Visual Basic redaktoruna keçməklə makro kodunu birbaşa iş faylında saxlamaqdır. Dayandırmaq+F11 və menyu vasitəsilə yeni boş modul əlavə edin Daxil et - Modul:

Bununla belə, bu metodun bir sıra çatışmazlıqları var:

  • Çox sayda işləyən fayl varsa və hər yerdə makro lazımdırsa, məsələn, düsturları dəyərlərə çevirmək üçün makro, onda kodu kopyalamalı olacaqsınız. hər kitabda.
  • Unudulmamalıdır faylı makro-aktiv formatda saxlayın (xlsm) və ya ikili kitab formatında (xlsb).
  • Belə bir faylı açarkən makro müdafiə hər dəfə qəbul edilməli olan xəbərdarlıq verəcək (yaxşı və ya mühafizəni tamamilə söndürün, bu həmişə arzuolunan olmaya bilər).

Daha zərif bir həll yaratmaq olardı öz eklentiniz (Excel Add-in) – bütün “sevimli” makrolarınızı ehtiva edən xüsusi formatlı (xlam) ayrıca fayl. Bu yanaşmanın üstünlükləri:

  • Bu kifayət edəcək əlavəni bir dəfə birləşdirin Excel-də – və siz onun VBA prosedurlarından və funksiyalarından bu kompüterdəki istənilən faylda istifadə edə bilərsiniz. İş fayllarınızı xlsm- və xlsb-formatlarında yenidən saxlamaq tələb olunmur, çünki. mənbə kodu onlarda deyil, əlavə faylda saxlanılacaq.
  • Müdafiə makrolar da sizi narahat etməyəcək. əlavələr, tərifinə görə, etibarlı mənbələrdir.
  • Edə bilərsiniz ayrı tab Əlavə makroları işə salmaq üçün gözəl düymələri olan Excel lentində.
  • Əlavə ayrı bir fayldır. Onun keçirmək asan kompüterdən kompüterə, həmkarlarınızla paylaşın və ya hətta satın 😉

Gəlin addım-addım öz Microsoft Excel əlavənizi yaratmağın bütün prosesini nəzərdən keçirək.

Addım 1. Əlavə fayl yaradın

Microsoft Excel proqramını boş iş dəftəri ilə açın və onu istənilən uyğun adla saxlayın (məsələn MyExcelAddin) əmri ilə əlavə formatda Fayl - Fərqli Saxla və ya açarlar F12, fayl növünü təyin etməklə Excel əlavəsi:

Nəzərə alın ki, Excel standart olaraq əlavələri C:UsersYour_nameAppDataRoamingMicrosoftAddIns qovluğunda saxlayır, lakin, prinsipcə, sizin üçün əlverişli olan hər hansı digər qovluğu təyin edə bilərsiniz.

Addım 2. Yaradılmış əlavəni birləşdiririk

İndi son addımda yaratdığımız əlavə MyExcelAddin Excel-ə qoşulmalıdır. Bunu etmək üçün menyuya keçin Fayl - Seçimlər - Əlavələr (Fayl — Seçimlər — Əlavələr), düyməsini basın haqqında (Get) pəncərənin altındakı. Açılan pəncərədə düyməni basın baxış (Gözdən keçirin) və əlavə faylımızın yerini təyin edin.

Hər şeyi düzgün etmisinizsə, deməli bizim MyExcelAddin mövcud əlavələr siyahısında görünməlidir:

Addım 3. Əlavəyə makrolar əlavə edin

Əlavəmiz Excel-ə qoşulub və uğurla işləyir, lakin orada hələ bir makro yoxdur. Gəlin onu dolduraq. Bunun üçün klaviatura qısayolu ilə Visual Basic redaktorunu açın Dayandırmaq+F11 və ya düymə ilə Visual Basic nişanı geliştirici (İnkişaf etdirici). Nişanlar varsa geliştirici görünmür, vasitəsilə göstərilə bilər Fayl - Seçimlər - Lent Quraşdırma (Fayl — Seçimlər — Lenti Fərdiləşdirin).

Redaktorun yuxarı sol küncündə bir pəncərə olmalıdır Layihə (görünməzsə, menyu vasitəsilə onu yandırın Baxın - Layihə Explorer):

Bu pəncərə bütün açıq iş kitablarını və Microsoft Excel əlavələrini, o cümlədən bizimkiləri göstərir. VBAProject (MyExcelAddin.xlam) Onu siçan ilə seçin və menyu vasitəsilə ona yeni modul əlavə edin Daxil et - Modul. Bu modulda biz əlavə makrolarımızın VBA kodunu saxlayacağıq.

Siz ya kodu sıfırdan yaza bilərsiniz (əgər proqramlaşdırmağı bilirsinizsə), ya da onu hazır bir yerdən kopyalaya bilərsiniz (bu, daha asandır). Gəlin sınaq üçün əlavə edilmiş boş modula sadə, lakin faydalı makronun kodunu daxil edək:

Kodu daxil etdikdən sonra yuxarı sol küncdə saxlama düyməsini (disket) vurmağı unutmayın.

Bizim makro Düymələr üçün Dəyərlər, asanlıqla təsəvvür edə bildiyiniz kimi, düsturları əvvəlcədən seçilmiş diapazonda dəyərlərə çevirir. Bəzən bu makrolar da adlanır prosedurları. Onu işə salmaq üçün düsturları olan xanaları seçmək və xüsusi dialoq qutusu açmaq lazımdır Makro tabdan geliştirici (Tərtibatçı — Makroslar) və ya klaviatura qısa yolu Dayandırmaq+F8. Normalda bu pəncərə bütün açıq iş kitablarından mövcud makroları göstərir, lakin əlavə makrolar burada görünmür. Buna baxmayaraq, prosedurumuzun adını sahəyə daxil edə bilərik makro adı (Makro adı)və sonra düyməni basın qaçış (qaçış) – və makromuz işləyəcək:

    

Burada siz həmçinin makronuzu tez işə salmaq üçün klaviatura qısayolunu təyin edə bilərsiniz – düymə buna cavabdehdir Parameters (Seçimlər) əvvəlki pəncərədə Makro:

Düymələri təyin edərkən onların hərflərə və klaviatura düzümünə həssas olduğunu unutmayın. Belə bir kombinasiya təyin etsəniz Ctrl+Й, then, in fact, in the future you will have to make sure that you have the layout turned on and press additionally ÜstKrktböyük hərfi almaq üçün.

Rahatlıq üçün, pəncərənin yuxarı sol küncündəki sürətli giriş alətlər panelinə makromuz üçün düymə də əlavə edə bilərik. Bunu etmək üçün seçin Fayl - Seçimlər - Tez Giriş Alətlər Paneli (Fayl — Seçimlər — Tez Giriş Alətlər Panelini fərdiləşdirin), və sonra pəncərənin yuxarısındakı açılan siyahıda seçim Makro. Bundan sonra makromuz Düymələr üçün Dəyərlər düyməsi ilə panelə yerləşdirilə bilər əlavə etmək (Əlavə et) və düymə ilə onun üçün bir ikona seçin Dəyişdirmək (Edit):

Addım 4. Əlavəyə funksiyalar əlavə edin

Lakin makroprosedurlar, həmçinin var funksiya makroları ya da deyildiyi kimi UDF (İstifadəçi tərəfindən müəyyən edilmiş funksiya = istifadəçi tərəfindən müəyyən edilmiş funksiya). Əlavəmizdə ayrıca modul yaradaq (menyu əmri Daxil et - Modul) və aşağıdakı funksiyanın kodunu ora yapışdırın:

Bu funksiyanın ƏDV daxil olmaqla məbləğdən ƏDV çıxarmaq üçün lazım olduğunu görmək asandır. Əlbəttə ki, Nyutonun binomial deyil, amma əsas prinsipləri göstərmək üçün bizə nümunə olacaq.

Qeyd edək ki, funksiyanın sintaksisi prosedurdan fərqlidir:

  • tikinti istifadə olunur Funksiya…. Son funksiyası yerinə Alt … Son Alt
  • funksiyanın adından sonra onun arqumentləri mötərizədə göstərilir
  • funksiyanın gövdəsində lazımi hesablamalar aparılır və sonra nəticə funksiyanın adı olan dəyişənə təyin edilir.

Onu da qeyd edək ki, bu funksiyaya ehtiyac yoxdur və dialoq qutusu vasitəsilə əvvəlki makro prosedur kimi işləmək mümkün deyil Makro və düymə qaçış. Belə bir makro funksiyası standart iş vərəqi funksiyası kimi istifadə edilməlidir (SUM, IF, VLOOKUP...), yəni sadəcə olaraq istənilən xanaya daxil olun, məbləğin dəyərini ƏDV ilə arqument kimi göstərin:

… və ya funksiya daxil etmək üçün standart dialoq qutusuna daxil olun (düymə fx düstur çubuğunda) kateqoriya seçərək Müəyyən edilmiş istifadəçi (Müəyyən edilmiş istifadəçi):

Burada yeganə xoşagəlməz məqam, pəncərənin altındakı funksiyanın adi təsvirinin olmamasıdır. Onu əlavə etmək üçün aşağıdakıları etməlisiniz:

  1. Klaviatura qısayolu ilə Visual Basic Redaktorunu açın Dayandırmaq+F11
  2. Layihə panelində əlavəni seçin və düyməsini basın F2Obyekt Browser pəncərəsini açmaq üçün
  3. Pəncərənin yuxarısındakı açılan siyahıdan əlavə layihənizi seçin
  4. Görünən funksiyaya sağ vurun və əmri seçin Properties.
  5. Pəncərədə funksiyanın təsvirini daxil edin təsvir
  6. Əlavə faylı yadda saxlayın və excel-i yenidən başladın.

Yenidən başladıqdan sonra funksiya daxil etdiyimiz təsviri göstərməlidir:

Addım 5. İnterfeysdə əlavə nişan yaradın

Sonuncu, məcburi olmasa da, xoş toxunuş, eklentimizi birləşdirdikdən sonra Excel interfeysində görünəcək makromuzu işə salmaq üçün bir düymə ilə ayrıca bir nişanın yaradılması olacaq.

Varsayılan olaraq göstərilən nişanlar haqqında məlumat kitabda var və xüsusi XML kodunda formatlaşdırılmalıdır. Belə kodu yazmağın və redaktə etməyin ən asan yolu xüsusi proqramların - XML ​​redaktorlarının köməyi ilədir. Ən rahat (və pulsuz) biri Maksim Novikovun proqramıdır Lent XML redaktoru.

Onunla işləmək üçün alqoritm aşağıdakı kimidir:

  1. Əlavənin XML kodunu redaktə edərkən heç bir fayl konfliktinin olmaması üçün bütün Excel pəncərələrini bağlayın.
  2. Ribbon XML Editor proqramını işə salın və orada MyExcelAddin.xlam faylımızı açın.
  3. Düymə ilə Nişanlar yuxarı sol küncdə yeni tab üçün kod parçasını əlavə edin:
  4. Siz boş sitatlar daxil etməlisiniz id nişanımız və qrupumuz (hər hansı unikal identifikatorlar) və etiket – nişanımızın və üzərindəki bir qrup düymənin adları:
  5. Düymə ilə düyməsini sol paneldə düymə üçün boş kod əlavə edin və ona etiketlər əlavə edin:

    - etiket düymədəki mətndir

    — imageMso — bu, düymədəki şəklin şərti adıdır. AnimationCustomAddExitDialog adlı qırmızı düymə işarəsindən istifadə etdim. “imageMso” açar sözlərini axtarsanız, bütün mövcud düymələrin adlarını (və onlardan bir neçə yüz nəfəri var!) İnternetdə çoxlu sayda saytlarda tapmaq olar. Başlayanlar üçün buraya gedə bilərsiniz.

    - onAction – bu, geri çağırış prosedurunun adıdır – əsas makromuzu işlədəcək xüsusi qısa makro Düymələr üçün Dəyərlər. Bu proseduru istədiyiniz kimi adlandıra bilərsiniz. Bir az sonra əlavə edəcəyik.

  6. Alətlər panelinin yuxarısında yaşıl işarəsi olan düyməni istifadə edərək görülən hər şeyin düzgünlüyünü yoxlaya bilərsiniz. Eyni yerdə, bütün dəyişiklikləri saxlamaq üçün disket ilə düyməni basın.
  7. Ribbon XML Redaktorunu bağlayın
  8. Excel-i açın, Visual Basic redaktoruna gedin və makromuza geri çağırış proseduru əlavə edin Formulları öldüründüsturları dəyərlərlə əvəz etmək üçün əsas makromuzu işlədir.
  9. Dəyişiklikləri saxlayırıq və Excel-ə qayıdaraq nəticəni yoxlayırıq:

Hamısı budur – əlavə istifadəyə hazırdır. Onu öz prosedurlarınız və funksiyalarınızla doldurun, gözəl düymələr əlavə edin və işinizdə makrolardan istifadə etmək daha asan olacaq.

  • Makrolar nədir, onlardan işinizdə necə istifadə etmək olar, Visual Basic proqramında makro kodu haradan əldə etmək olar.
  • Excel-də iş kitabını açarkən ekranı necə düzəltmək olar
  • Şəxsi Makro Kitab nədir və ondan necə istifadə etmək olar

Cavab yaz