Как да използвате добавките си във Excel във VBA

Съдържание:

Anonim

Ако сте създали добавка, която да съдържа вашите персонализирани функции на Excel, може да сте открили, че въпреки че функциите работят добре в работен лист на Excel, не можете да ги използвате във вашите VBA процедури в други работни книги. Сякаш редакторът на Visual Basic не може виж тях. Е, това е така, защото не може! Тази статия обяснява как можете да поправите това.

На първо място, помислете дали това наистина е това, което искате да направите. Добавките са предназначени предимно за добавяне на допълнителна функционалност към вашите работни книги. Когато заредите добавка в Excel, нейната функционалност веднага става достъпна за всички ваши работни книги. Ако създадете процедура за VBA, която зависи от персонализирана функция, съдържаща се в друга работна книга, тази друга работна книга ще трябва да бъде отворена, когато искате да използвате нейната функция. Същото важи и за персонализирана функция в добавка. Ако добавката е заредена, това е добре, но ако предположите, че изпращате работната си книга на някой друг или я разпространявате в работната си група. Трябва да запомните да разпространявате и добавката. Може да е по -лесно да включите копие на функцията в кода на работната книга, така че вашите процедури да имат директен достъп до нея (може да се наложи да я направите Частна функция или променете името си, за да избегнете конфликти при именуване).

Не казвам, че не го прави. Просто трябва първо да помислите за това и ако сте сигурни, че добавката ще бъде налична, тогава продължете. Ето как…

Кога възниква проблемът?

Пиша процедура за една от работните ми книжки. В моята процедура искам да използвам RemoveSpaces функция, която създадох преди малко и запазих в моята Функциите на Мартин Добавка, която в момента е инсталирана в моето копие на Excel. Но когато се опитвам да изпълня процедурата, получавам грешка.

Редакторът на Visual Basic се държи така, сякаш функцията не съществува, но знам, че съществува и мога да го видя, ако погледна кода в моята добавка. Всъщност кодът работи добре, ако го стартирам от моята добавка.

Имам нужда от редактора на Visual Basic, за да мога виж функциите в моята добавка от вътрешността на кодовия модул на a различен работна тетрадка.

Дайте на вашата добавка име на VBA проект

Всяка работна книга има Име на проекта VBA. Нарича се VBAProject. Можете да промените това име, ако искате, но обикновено не се притеснявам, защото обикновено няма значение.

Чудили ли сте се защо всички работни книги, показани в Project Explorer панелът на визуалния основен редактор се нарича "VBAProject"? Ако имате инсталирана някоя от добавките на Microsoft, ще видите, че те имат различно име. Разработчиците на Microsoft са дали своите Пакет с инструменти за анализ Добавка към името на проекта VBA "функции".

Първото нещо, което трябва да направите, е да дадете на вашата добавка уникално име на VBA проект. Това е така, защото ще го наричате с това име в следващата стъпка и ако има повече от един със същото име, редакторът на Visual Basic няма да знае кой да използва.

В Project Explorer прозорец изберете името на вашата добавка. Ако още не е отворен, покажете редактора на Visual Basic Прозорец за свойства. Ще видите, че има само един имот, Име. Въведете друго име и натиснете Въведете. Ще трябва да се подчинявате на обичайните правила за именуване за VBA (т.е. без незаконни знаци и без интервали). Ще видите, че името веднага се прилага в Project Explorer.

Сега запазете промените във вашата добавка. Уверете се, че вашата добавка е избрана в Project Explorer и изберете Файл> Запазване.

Задайте препратка към добавката

В тази стъпка вие казвате на работната книга, в която искате да използвате функциите на вашата добавка, че добавката съществува. Правите това чрез Задаване на препратка към добавката. Може би сте се сблъсквали с тази техника преди, ако сте искали да напишете Excel код, за да общувате с друга програма, като напр Outlook или Достъп.

Ако е удобно, рестартирайте Excel на този етап. Това е така, защото преименуваната ви добавка ще бъде презаредена и списъкът, който ще видите, ще бъде опреснен. Ако не е удобно, не се притеснявайте … прочетете следващия параграф и решете какво искате да направите.

Отворете кодов модул в работната книга, в който искате да използвате функциите на добавката, след това отидете на Инструменти> Препратки за да отворите Препратки диалогов прозорец, където ще видите списък с всички библиотеки и други обекти (като добавки), към които можете да зададете препратка. Ако сте рестартирали Excel, този списък ще бъде опреснен и ще можете да намерите името на проекта, което сте дали на вашата добавка в последната стъпка. Поставете отметка в полето до името и щракнете върху Добре бутон.

Ако не сте рестартирали Excel, ще трябва да намерите своя файл с добавка, като щракнете върху Преглед бутон на Препратки диалогов прозорец. Това отваря Добавяне на препратка прозорец. Променете Файлове от тип: раздел до Файлове на Microsoft Excel (*. Xls;*. Xla) след това отидете в папката, където се съхранява добавката.

Изберете вашата добавка и щракнете Отворено. Това добавя вашата добавка към списъка, където можете да я изберете и да щракнете Добре.

ЗАБЕЛЕЖКА: Не е нужно да правите и двете процедури! Изберете едно или друго в зависимост от това дали сте рестартирали Excel след промяна на името на проекта на VBA на вашата добавка.

Сега ще можете да използвате функциите на добавката във всеки модул от работната книга, в който сте задали препратката, и те ще бъдат разпознати от редактора на Visual Basic …

Ако погледнете Project Explorer ще видите, че към работната книга е приложена препратка …

Важно е да запомните, че добавянето на препратка се отнася само за работната книга, за която сте извършили тази процедура. Ще трябва да го направите за всяка различна работна книга, в която искате да използвате функциите на вашата добавка.

За разпространението на вашите файлове

Когато добавите препратка към добавка, тази връзка към добавката е "свързана" във файла. Ако преместите файла на друг компютър или го разпространите сред вашите колеги, работната книга ще очаква да намери същата добавка, на същото място, на техните компютри. Също така, ако добавката е преместена или изтрита от компютъра, работната книга няма да може да я намери и вашият код няма да работи.

Някои хора препоръчват, че файлът и свързаната с него добавка трябва винаги да се намират в една и съща папка, за да се избегнат проблемите, които това може да причини. Разбира се, можете да зададете препратката отново, за да отстраните проблема.

Вземете предвид тези фактори и няма да имате проблеми.