Как се извиква UDF, намираща се в xlam файл?

VBA за Excel

Здравейте! Как се извиква UDF, която се намира в xlam файл, във VBA кода на даден файл? Например в този код NewFileName_SameYear() е UDF, намираща се в модул в същия файл. Как трябва да редактирам кода, ако искам да преместя функцията в xlam файл и да я ползвам оттам?

Като за първи път, не успях да копирам като хората картинката. Надявам се, че вторият път е по-добре.

Здравейте, в сички процедури - Sub, Function се записват в редактора на VBA. Следващата стъпка е да запазите работния файл с разширение *.xlam (като add-in). Файловете add-in се съхраняват в специална папка по подразбиране C:\Users\UserName\AppData\Roaming\Microsoft\AddIns. Може да се запише и на друго място, но не Ви препоръчвам, така ще си спестите да указвате папката всеки път, когато използвате UDF, записана в add-in. В урока подробно показвам как се създава *.xlam файл, изгледайте още веднъж видеото. Ако имате нужда от помощ, пишете.

Здравейте! Със създаването на xlam файла и добавянето му като add-in проблеми нямам. Въпросът ми е свързан с извикването на функцията от код на обикновен xlsm файл. Ако оставя кода както е на картинката, получавам грешка „Sub or function not defined.“, въпреки че add-in файлът се отваря със стартиране на ексел и го виждам в редактора на vba. Потърсих в мрежата как трябва да се подходи в подобна ситуация и попаднах на напътствие, че в кода трябва да се напише името на add-in файла, последвано от удивителна и след това името на функцията - всичко това обградено от двойни кавички. Но като напиша new_filename = "ime-na-fayl.xlam!NewFileName_SameYear()" (където ime-na-fayl е името на add-in файла), това не води до стартиране на функцията. Та се чудя къде точно бъркам.

Кавичките объркват кода. Вижте картинките UDF, записана във VBA Project(MyCubeF.xlam)

UDF в работния обикновен xlsm file: Обърнете внимание, името на add-in MyCubeF.xlam и UDF са заградени в двойна кавичка, като MyCubeF.xlam е заградено с апостроф, единична кавичка и се отделя с удивителен знак пред UDF. След затварящата двойна кавичка със запетая се въвежда аргумента/аргументите на функцията. UDF Cube има само един аргумент, променливата nu_cube:

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

Получи се! Благодаря много, г-жо Вълкова!

Вашият отговор:

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Име
    Имейл
     
    love


    © 2020 Учебен център "Аула". Всички права запазени.
    Autodesk AutoCAD, Autodesk Inventor, Autodesk Civil 3D, Autodesk Revit, Autodesk 3ds Max, Autodesk Maya, Microsoft Word, Microsoft Outlook, Microsoft Excel, SharePoint Online, Microsoft PowerPoint, Microsoft Project, Microsoft, Adobe Photoshop, Adobe Illustrator, Adobe InDesign, Adobe After Effects, Adobe Premiere, Adobe Dreamweaver, V-Ray, Ableton Live, Solidworks са регистрирани търговски марки на Adobe Systems Incorporated, Microsoft Corporation, Chaos Software Ltd, Autodesk Inc., Ableton и Dassault Systèmes SolidWorks Corp.