Microsoft Excel үчүн өзүңүздүн кошумча программаңызды кантип түзсө болот

Кантип программалоону билбесеңиз дагы, Excelде көп сандагы типтүү тапшырмалар үчүн даяр VBA макрокодун таба турган көптөгөн жерлер (китептер, веб-сайттар, форумдар) бар. Менин тажрыйбам боюнча, көпчүлүк колдонуучулар эртеби-кечпи күнүмдүк процесстерди автоматташтыруу үчүн макростордун жеке коллекциясын чогултушат, мейли бул формулаларды маанилерге которуу, суммаларды сөздөр менен көрсөтүү же уячаларды түс боюнча кошуу. Жана бул жерде маселе келип чыгат - Visual Basic'теги макрокод кийинчерээк жумушта колдонулушу үчүн бир жерде сакталышы керек.

Эң оңой вариант - клавиатура жарлыгын колдонуу менен Visual Basic редакторуна өтүп, макрокодту түз жумушчу файлга сактоо. Alt+F11 жана меню аркылуу жаңы бош модулду кошуу Кыстаруу – модуль:

Бирок, бул ыкманын бир нече кемчиликтери бар:

  • Эгерде иштеген файлдар көп болсо жана бардык жерде макро керек болсо, мисалы формулаларды маанилерге айландыруу үчүн макро, анда кодду көчүрүүгө туура келет. ар бир китепте.
  • Унутпаш керек файлды макро иштетилген форматта сактоо (xlsm) же бинардык китеп форматында (xlsb).
  • Мындай файлды ачууда макро коргоо ар бир жолу моюнга алынышы керек болгон эскертүү берет (жакшы, же коргоону толугу менен өчүрүү, бул дайыма эле каалабашы мүмкүн).

Бир кыйла жарашыктуу чечим түзүү болмок өзүңүздүн кошумча программаңыз (Excel Add-in) – бардык “сүйүктүү” макросуңузду камтыган атайын форматтагы өзүнчө файл (xlam). Бул ыкманын артыкчылыктары:

  • Бул жетиштүү болот кошумчаны бир жолу туташтыруу Excelде – жана сиз анын VBA процедураларын жана функцияларын бул компьютердеги каалаган файлда колдоно аласыз. Жумуш файлдарыңызды xlsm- жана xlsb-форматтарында кайра сактоо талап кылынбайт, анткени. баштапкы код аларда эмес, кошумча файлда сакталат.
  • коргоо сизди макростар да тынчсыздандырбайт. кошумчалар, аныктоо боюнча, ишенимдүү булактар ​​болуп саналат.
  • кыла алат өзүнчө өтмөк кошумча макросторду иштетүү үчүн жакшы баскычтар менен Excel лентасында.
  • Кошумча өзүнчө файл. Анын аткаруу үчүн жеңил компьютерден компьютерге, аны кесиптештер менен бөлүшүңүз же сатыңыз 😉

Келгиле, өзүңүздүн Microsoft Excel кошумча программаңызды этап-этабы менен түзүү процессин карап көрөлү.

Кадам 1. Кошумча файлды түзүңүз

Microsoft Excel программасын бош иш китеби менен ачып, аны каалаган ылайыктуу ат менен сактаңыз (мисалы MyExcelAddin) буйругу менен кошумча форматта Файл – Башкача сактоо же ачкычтар F12, файлдын түрүн көрсөтүү Excel кошумчасы:

Көңүл буруңуз, Excel демейки боюнча кошумчаларды C:UsersYour_nameAppDataRoamingMicrosoftAddIns папкасында сактайт, бирок, негизинен, сиз үчүн ыңгайлуу болгон башка папканы көрсөтсөңүз болот.

Кадам 2. Биз түзүлгөн кошумчаны туташтырабыз

Эми акыркы кадамда биз түзгөн кошумча MyExcelAddin Excelге туташкан болушу керек. Бул үчүн, менюга өтүңүз Файл - Параметрлер - Кошумчалар (Файл — Параметрлер — Кошумчалар), баскычын басыңыз жөнүндө (Баруу) терезенин түбүндө. Ачылган терезеде баскычты чыкылдатыңыз кароо (Көрүү) жана биздин кошумча файлдын жайгашкан жерин көрсөтүңүз.

Эгер сиз баарын туура кылган болсоңуз, анда биздин MyExcelAddin жеткиликтүү кошумчалардын тизмесинде пайда болушу керек:

Кадам 3. Кошумча макросторду кошуңуз

Биздин кошумча программа Excelге туташып, ийгиликтүү иштейт, бирок анда азырынча бир дагы макро жок. Аны толтуралы. Бул үчүн, клавиатура жарлыгы менен Visual Basic редакторун ачыңыз Alt+F11 же баскыч менен Visual Basic табулатура иштеп (Иштеп чыгуучу). Эгерде өтмөктөр иштеп көрүнбөйт, ал аркылуу көрсөтүүгө болот Файл - Параметрлер - Тасма орнотуу (Файл — Параметрлер — Тасманы ыңгайлаштыруу).

Редактордун жогорку сол бурчунда терезе болушу керек Долбоору (эгер ал көрүнбөсө, меню аркылуу аны күйгүзүңүз Көрүү — Project Explorer):

Бул терезе бардык ачык иш китептерин жана иштеп жаткан Microsoft Excel кошумчаларын, анын ичинде биздикилерди көрсөтөт. VBAProject (MyExcelAddin.xlam) Аны чычкан менен тандап, меню аркылуу ага жаңы модуль кошуңуз Кыстаруу – модуль. Бул модулда биз кошумча макростарыбыздын VBA кодун сактайбыз.

Сиз кодду нөлдөн баштап терсеңиз (эгер сиз программалоону билсеңиз) же даяр жерден көчүрө аласыз (бул бир топ жеңил). Келгиле, тестирлөө үчүн, кошулган бош модулга жөнөкөй, бирок пайдалуу макростун кодун киргизели:

Кодду киргизгенден кийин, жогорку сол бурчтагы сактоо баскычын (дискетти) басууну унутпаңыз.

Биздин макро FormulasToValues, сиз оңой элестете тургандай, формулаларды алдын ала тандалган диапазондогу маанилерге айлантат. Кээде бул макростор да деп аталат жол-жоболору. Аны иштетүү үчүн формулалары бар уячаларды тандап, атайын диалог терезесин ачуу керек Macros өтмөктөн иштеп (Иштеп чыгуучу — Макрос) же баскычтоптун жарлыгы Alt+F8. Адатта, бул терезе бардык ачык иш китептериндеги жеткиликтүү макросторду көрсөтөт, бирок кошумча макростор бул жерде көрүнбөйт. Буга карабастан, биз талаага процедурабыздын атын киргизе алабыз макро аты (Макро аты)анан баскычын Run (чуркоо) – жана биздин макрос иштейт:

    

Бул жерде сиз макросту тез ишке киргизүү үчүн баскычтопту дайындай аласыз - бул үчүн баскыч жооп берет параметрлер (Параметрлер) мурунку терезеде макро:

Ачкычтарды дайындоодо, алар регистрге жана клавиатуранын жайгашуусуна сезгич экенин эстен чыгарбаңыз. Ошентип, сиз сыяктуу комбинацияны дайындасаңыз Ctrl+Й, анда, чындыгында, келечекте сиз макет күйгүзүлгөнүн текшерип, кошумча баскычты басышыңыз керек. өзгөрүүбаш тамга алуу үчүн.

Ыңгайлуулук үчүн, биз ошондой эле терезенин жогорку сол бурчундагы тез жетүү куралдар панелине макросубуз үчүн баскычты кошо алабыз. Бул үчүн, тандаңыз Файл – Параметрлер – Ыкчам жетүү куралдар панели (Файл — Параметрлер — Ыкчам жетүү куралдар панелин ыңгайлаштыруу), анан терезенин жогору жагындагы ачылуучу тизмеде опцияны тандаңыз Macros. Андан кийин биздин макро FormulasToValues баскычы менен панелге жайгаштырууга болот кошуу (Кошуу) жана баскычы менен анын сөлөкөтүн тандаңыз өзгөртүү (Түзөтүү):

Кадам 4. Кошумча функцияларды кошуңуз

бирок макропроцедуралар, бар функция макростору же алар деп аталат UDF (Колдонуучу аныктаган функция = колдонуучу аныктаган функция). Биздин кошумчада өзүнчө модул түзөлү (меню буйругу Кыстаруу – модуль) жана ал жерге төмөнкү функциянын кодун чаптаңыз:

Бул функция КНСти камтыган суммадан КНСти алуу үчүн керек экенин түшүнүү оңой. Албетте, Ньютондун биномиалы ​​эмес, бирок бул негизги принциптерди көрсөтүү үчүн бизге үлгү болот.

Функциянын синтаксиси процедурадан башкача экенин эске алыңыз:

  • курулуш колдонулат Функция…. Аяктоо функциясы ордуна Sub … End Sub
  • функциянын атынан кийин анын аргументтери кашаанын ичинде көрсөтүлөт
  • функциянын денесинде керектүү эсептөөлөр аткарылат, андан кийин натыйжа функциянын аталышы менен өзгөрмөгө ыйгарылат

Ошондой эле бул функциянын кереги жок экенин жана диалог кутусу аркылуу мурунку макрос-процедураны аткарууга мүмкүн эмес экенин эске алыңыз Macros жана баскыч Run. Мындай макро функцияны стандарттуу иш барагынын функциясы катары колдонуу керек (СУМ, ЭГЕР, VLOOKUP...), башкача айтканда, аргумент катары КНС менен сумманын маанисин көрсөтүү менен каалаган уячага киргизиңиз:

… же функцияны киргизүү үчүн стандарттуу диалог терезеси аркылуу кириңиз (баскыч fx формула тилкесинде) категорияны тандоо Колдонуучу аныкталган (Колдонуучу аныктаган):

Бул жерде бир гана жагымсыз учур - бул терезенин ылдый жагында функциянын кадимки сүрөттөлүшүнүн жоктугу. Аны кошуу үчүн сиз төмөнкүлөрдү кылышыңыз керек:

  1. Visual Basic редакторун баскычтоптун жарлыгы менен ачыңыз Alt+F11
  2. Долбоор панелинен кошумчаны тандап, баскычты басыңыз F2Объект браузеринин терезесин ачуу үчүн
  3. Терезенин жогору жагындагы ачылуучу тизмеден кошумча долбооруңузду тандаңыз
  4. Пайда болгон функцияны оң баскыч менен чыкылдатып, буйрукту тандаңыз касиеттери.
  5. Терезеде функциянын сүрөттөмөсүн киргизиңиз баяндоо
  6. Кошумча файлды сактаңыз жана excelди кайра иштетиңиз.

Кайра күйгүзгөндөн кийин, функция биз киргизген сыпаттаманы көрсөтүшү керек:

Кадам 5. Интерфейсте кошумча өтмөктү түзүңүз

Акыркы, милдеттүү эмес, бирок жагымдуу тийүү бул биздин макросту иштетүү үчүн баскычы бар өзүнчө өтмөктү түзүү, ал биздин кошумчаны туташтыргандан кийин Excel интерфейсинде пайда болот.

Демейки боюнча көрсөтүлгөн өтмөктөр жөнүндө маалымат китептин ичинде камтылган жана атайын XML кодунда форматталышы керек. Мындай кодду жазуунун жана редакциялоонун эң оңой жолу - атайын программалардын - XML ​​редакторлорунун жардамы менен. Эң ыңгайлуу (жана бекер) бири Максим Новиковдун программасы Ribbon XML редактору.

Аны менен иштөө алгоритми төмөнкүдөй:

  1. Кошумча XML кодун түзөткөндө эч кандай файл конфликти болбошу үчүн бардык Excel терезелерин жабыңыз.
  2. Ribbon XML Editor программасын ишке киргизиңиз жана андагы MyExcelAddin.xlam файлыбызды ачыңыз
  3. баскычы менен табулатура жогорку сол бурчта, жаңы өтмөк үчүн код үзүндүнү кошуу:
  4. Сиз бош тырмакчаларды коюшуңуз керек id биздин өтмөк жана топ (кандай болбосун уникалдуу идентификаторлор) жана ичинде этикетка – биздин өтмөктүн аттары жана андагы баскычтар тобу:
  5. баскычы менен баскычы сол панелде, баскычтын бош кодун кошуп, ага тегдерди кошуңуз:

    — этикетка баскычтагы текст болуп саналат

    — imageMso — бул кнопкадагы сүрөттүн шарттуу аталышы. Мен AnimationCustomAddExitDialog деп аталган кызыл баскычтын сөлөкөтүн колдондум. Бардык жеткиликтүү баскычтардын аттары (жана алардын бир нече жүздөрү бар!) "imageMso" ачкыч сөздөрүн издесеңиз, Интернеттеги көптөгөн сайттардан тапса болот. Баштоо үчүн, бул жерге бара аласыз.

    - onAction – бул кайра чакыруу процедурасынын аталышы – биздин негизги макробузду иштете турган атайын кыска макро FormulasToValues. Бул процедураны сиз каалагандай атасаңыз болот. Аны бир аздан кийин кошобуз.

  6. Сиз куралдар панелинин жогору жагындагы жашыл белги менен баскычты колдонуу менен жасалган нерселердин тууралыгын текшере аласыз. Ошол эле жерде, бардык өзгөртүүлөрдү сактоо үчүн дискет менен баскычты чыкылдатыңыз.
  7. Ribbon XML редакторун жабыңыз
  8. Excelди ачып, Visual Basic редакторуна өтүп, макросубузга кайра чалуу процедурасын кошуңуз KillFormulasОшентип, ал формулаларды баалуулуктарга алмаштыруу үчүн биздин негизги макросту иштетет.
  9. Биз өзгөртүүлөрдү сактап, Excelге кайтып, натыйжаны текшеребиз:

Ушунун баары – кошумча колдонууга даяр. Аны өзүңүздүн процедураларыңыз жана функцияларыңыз менен толтуруңуз, кооз баскычтарды кошуңуз – жана ишиңизде макросторду колдонуу бир топ жеңилдейт.

  • Макрос деген эмне, аларды жумушуңузда кантип колдонуу керек, Visual Basic программасында макрокодду кайдан алса болот.
  • Excelде иш китебин ачууда экранды кантип жасоо керек
  • Жеке макро китеп деген эмне жана аны кантип колдонуу керек

Таштап Жооп