Excel-də fərdi funksiyaları necə istifadə etmək və saxlamaq

  • Bunu Paylaş
Michael Brown

Bu gün biz fərdi Excel funksiyalarını araşdırmağa davam edəcəyik. UDF-ləri necə yaratmağı artıq bildiyiniz üçün (və ümid edirəm ki, siz də onları Excel-də tətbiq etməyə cəhd etmisiniz), gəlin bir az daha dərindən qazaq və Excel-də istifadəçi tərəfindən müəyyən edilmiş funksiyalardan necə istifadə və saxlamağı öyrənək.

Bundan başqa, biz sizə funksiyalarınızı bir neçə kliklə sonra istifadə etmək üçün Excel əlavə faylında necə asanlıqla saxlamağınızı göstərəcəyik.

Beləliklə, burada danışacağımız şey budur:

    Excel-də UDF-dən istifadə etməyin müxtəlif yolları

    İş vərəqlərində UDF-lərdən istifadə

    UDF-lərinizin düzgün işlədiyini yoxladıqdan sonra, siz onları Excel-də istifadə edə bilərsiniz. düsturlar və ya VBA kodunda.

    Siz adi funksiyalardan istifadə etdiyiniz kimi Excel iş kitabında fərdi funksiyaları tətbiq edə bilərsiniz. Məsələn, xanaya aşağıdakı düsturu yazın:

    = GetMaxBetween(A1:A6,10,50)

    UDF adi funksiyalarla birlikdə istifadə edilə bilər. Məsələn, hesablanmış maksimum dəyərə mətn əlavə edin:

    = CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))

    Nəticəni aşağıdakı ekran görüntüsündə görə bilərsiniz:

    Siz həm maksimum olan, həm də 10-dan 50-yə qədər olan rəqəmi tapa bilər.

    Gəlin başqa düsturu yoxlayaq:

    = INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the

    Fərdi funksiya GetMaxBetween B2:B9 diapazonunu yoxlayır və 10 ilə 50 arasında olan maksimum ədədi tapır. Sonra INDEX + MATCH istifadə edərək, bu maksimum dəyərə uyğun məhsul adını alırıq:

    Gördüyünüz kimi, fərdi funksiyaların istifadəsi adi Excel-dən çox da fərqlənmirfunksiyaları.

    Bunu edərkən yadda saxlayın ki, istifadəçi tərəfindən müəyyən edilmiş funksiya yalnız dəyəri qaytara bilər, lakin başqa hərəkətləri yerinə yetirə bilməz. İstifadəçi tərəfindən müəyyən edilmiş funksiyaların məhdudiyyətləri haqqında ətraflı oxuyun.

    VBA prosedurlarında və funksiyalarında UDF-dən istifadə

    UDF-lərdən VBA makrolarında da istifadə oluna bilər. Aşağıda siz aktiv xananı ehtiva edən sütunda 10-dan 50-yə qədər diapazonda maksimum dəyəri axtaran makro kodu görə bilərsiniz.

    Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( Cells(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Cells(ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween(.Cells, 10)i = 5 Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End Sub

    Makro kodunda xüsusi funksiya var

    GetMaxBetween(.Cells, 10, 50)

    Bu aktiv sütunda maksimum dəyəri tapır. Sonra bu dəyər vurğulanacaq. Aşağıdakı ekran görüntüsündə makronun nəticəsini görə bilərsiniz.

    Fərdi funksiya digər xüsusi funksiya daxilində də istifadə edilə bilər. Bloqumuzun əvvəlində biz SpellNumber adlı fərdi funksiyadan istifadə edərək rəqəmin mətnə ​​çevrilməsi probleminə baxmışdıq.

    Onun köməyi ilə diapazondan maksimum dəyəri əldə edə bilərik və dərhal onu mətn kimi yazın.

    Bunun üçün biz funksiyalardan istifadə edəcəyimiz yeni fərdi funksiya yaradacağıq.Bizə artıq tanış olan GetMaxBetween SpellNumber .

    SpellGetMaxBetween funksiyası(RngCells As Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxBetween,NNr) Funksiya

    Gördüyünüz kimi, GetMaxBetween funksiyası başqa bir xüsusi funksiyanın arqumentidir, SpellNumber . Daha əvvəl dəfələrlə etdiyimiz kimi maksimum dəyəri müəyyənləşdirir. Bu rəqəm daha sonra mətnə ​​çevrilir.

    Yuxarıdakı ekran görüntüsündə siz SpellGetMaxBetween funksiyasının 100-dən 500-ə qədər olan maksimum rəqəmi necə tapdığını görə bilərsiniz. sonra onu mətnə ​​çevirir.

    Digər iş kitablarından UDF-yə zəng etmək

    Əgər siz iş dəftərinizdə UDF yaratmısınızsa, bu, təəssüf ki, heç bir problemlə qarşılaşmayacağınız anlamına gəlmir.

    Təcrübəmə görə, əksər istifadəçilər gec-tez fərdi prosesləri və hesablamaları avtomatlaşdırmaq üçün şəxsi makro kolleksiyası və fərdi funksiyalar yaradırlar. Və burada problem yaranır - Visual Basic-də istifadəçi tərəfindən müəyyən edilmiş funksiyaların kodu daha sonra işdə istifadə olunmaq üçün haradasa saxlanmalıdır.

    Fərdi funksiyanı tətbiq etmək üçün onu saxladığınız iş kitabı açıq olmalıdır. Excel-də. Əgər belə deyilsə, #NAME alacaqsınız! istifadə etməyə çalışarkən səhv. Bu xəta onu göstərir ki, Excel düsturda istifadə etmək istədiyiniz funksiyanın adını bilmir.

    Gəlin buradakı yollara nəzər salaq.yaratdığınız xüsusi funksiyalardan istifadə edə bilərsiniz.

    Metod 1. Funksiyaya iş kitabının adını əlavə edin

    Siz onun yerləşdiyi iş kitabının adını proqramın adından əvvəl təyin edə bilərsiniz. funksiyası. Məsələn, GetMaxBetween() fərdi funksiyasını My_Functions.xlsm adlı iş kitabında saxlamısınızsa, o zaman aşağıdakı düsturu daxil etməlisiniz:

    = My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)

    Metod 2. Bütün UDF-ləri bir ümumi faylda saxlayın

    Bütün xüsusi funksiyaları bir xüsusi iş kitabında saxlayın (məsələn, My_Functions.xlsm ) və ondan istədiyiniz funksiyanı kopyalayın. zəruri hallarda cari iş kitabını.

    Hər dəfə yeni fərdi funksiya yaratdığınız zaman onun kodunu ondan istifadə edəcəyiniz iş kitabında dublikat etməlisiniz. Bu üsulla bir sıra narahatlıqlar yarana bilər:

    • Əgər çoxlu iş faylları varsa və funksiya hər yerdə lazımdırsa, o zaman kodu hər kitaba köçürmək lazım gələcək.
    • İş kitabını makro-aktiv formatda (.xlsm və ya .xlsb) yadda saxlamağı unutmayın.
    • Belə faylı açarkən, makrolardan qorunma hər dəfə xəbərdarlıq göstərəcək və bu, təsdiq edilməlidir. Bir çox istifadəçi makroları aktivləşdirməyi xahiş edən sarı çubuq xəbərdarlığını gördükdə qorxur. Bu mesajı görməmək üçün Excel qorunmasını tamamilə söndürməlisiniz. Lakin bu, həmişə düzgün və təhlükəsiz olmaya bilər.

    Düşünürəm ki, siz mənimlə razılaşacaqsınız ki, hər zamanfaylı yaratmaq və ondan istifadəçi tərəfindən müəyyən edilmiş funksiyaların kodunu kopyalamaq və ya bu faylın adını düsturda yazmaq ən yaxşı həll yolu deyil. Beləliklə, üçüncü yola gəldik.

    Metod 3. Excel əlavə faylı yaradın

    Məncə, ən yaxşı yol tez-tez istifadə olunan xüsusi funksiyaları Excel əlavə faylında saxlamaqdır. . Əlavədən istifadənin üstünlükləri:

    • Əlavəni Excel-ə yalnız bir dəfə qoşmalısınız. Bundan sonra siz bu kompüterdə istənilən faylda onun prosedur və funksiyalarından istifadə edə bilərsiniz. İş kitablarınızı .xlsm və .xlsb formatlarında saxlamağınız lazım deyil, çünki mənbə kodu onlarda deyil, əlavə faylda saxlanacaq.
    • Artıq makroların qorunması sizi narahat etməyəcək. əlavələr həmişə etibarlı mənbələrə istinad edir.
    • Əlavə ayrıca fayldır. Onu kompüterdən kompüterə köçürmək, həmkarları ilə bölüşmək asandır.

    Əlavənin yaradılması və istifadəsi haqqında daha sonra danışacağıq.

    Əlavədən istifadə xüsusi funksiyaları saxlamaq üçün ins

    Öz eklentimi necə yarada bilərəm? Gəlin bu prosesi addım-addım keçək.

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

    Microsoft Excel-i açın, yeni iş kitabı yaradın və onu istənilən uyğun adla yadda saxlayın (məsələn, My_Functions) əlavə formatında. Bunun üçün Fayl - Fərqli Saxla menyusundan və ya F12 düyməsini istifadə edin. Fayl növünü qeyd etdiyinizə əmin olun Excel Add-in :

    Əlavəniz .xlam genişlənməsinə malik olacaq.

    İpucu. Nəzərə alın kidefolt olaraq Excel əlavələri C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns qovluğunda saxlayır. Defolt yeri qəbul etməyi tövsiyə edirəm. İstəyirsinizsə, hər hansı digər qovluğu təyin edə bilərsiniz. Lakin sonra, əlavəni birləşdirən zaman onun yeni yerini tapıb əl ilə təyin etməli olacaqsınız. Əgər onu standart qovluqda saxlasanız, əlavəni kompüterinizdə axtarmaq lazım deyil. Excel onu avtomatik olaraq siyahıya alacaq.

    Addım 2. Əlavə faylını birləşdirin

    İndi bizim yaratdığımız əlavə Excel-ə qoşulmalıdır. Sonra proqram başlayanda avtomatik olaraq yüklənəcək. Bunun üçün Fayl - Seçimlər - Əlavələr menyusundan istifadə edin. Manage sahəsində Excel Add-Ins -un seçildiyinə əmin olun. Pəncərənin altındakı Get düyməsini sıxın. Görünən pəncərədə My_Functions əlavəmizi qeyd edin. Əgər onu siyahıda görmürsünüzsə, Gözdən keçir düyməsini klikləyin və əlavə faylınızın yerləşdiyi yerə baxın.

    Əgər siz xüsusi funksiyaları saxlamaq üçün əlavədən istifadə edirsinizsə, əməl edilməli bir sadə qayda var. İş kitabını başqa şəxslərə köçürürsinizsə, istədiyiniz funksionallığı ehtiva edən əlavənin surətini də köçürməyinizə əmin olun. Onlar onu indi etdiyiniz kimi birləşdirməlidir.

    Addım 3. Əlavəyə fərdi funksiyalar və makrolar əlavə edin

    Əlavəmiz Excel-ə qoşulub, lakin o, heç bir funksiyası yoxdurhələ. Ona yeni UDF əlavə etmək üçün Alt + F11 düymələrini basaraq Visual Basic Redaktorunu açın. Sonra siz mənim UDF yaratma təlimatımda təsvir olunduğu kimi VBA kodu ilə yeni modullar əlavə edə bilərsiniz.

    Əlavə faylınızı ( My_Finctions.xlam ) seçin. VBAProject pəncərəsi. Fərdi modul əlavə etmək üçün Daxil et - Modul menyusundan istifadə edin. Siz ona fərdi funksiyalar yazmalısınız.

    Siz istifadəçi tərəfindən müəyyən edilmiş funksiyanın kodunu əl ilə daxil edə və ya onu haradansa kopyalaya bilərsiniz.

    Hamısı budur. İndi siz öz əlavənizi yaratdınız, onu Excel-ə əlavə etdiniz və orada UDF-dən istifadə edə bilərsiniz. Daha çox UDF istifadə etmək istəyirsinizsə, kodu VBA redaktorunda əlavə modulda yazın və yadda saxlayın.

    Bu gün üçün belədir. İş dəftərinizdə istifadəçi tərəfindən müəyyən edilmiş funksiyalardan necə istifadə edəcəyinizi öyrəndik. Ümid edirik ki, bu təlimatları faydalı tapacaqsınız. Hər hansı bir sualınız varsa, bu məqalənin şərhlərində yazın.

    Michael Brown proqram alətlərindən istifadə edərək mürəkkəb prosesləri sadələşdirməyə həvəsi olan xüsusi texnologiya həvəskarıdır. Texnologiya sənayesində on ildən artıq təcrübəyə malik olmaqla, o, Microsoft Excel və Outlook, həmçinin Google Cədvəl və Sənədlərdə bacarıqlarını mükəmməlləşdirib. Mayklın bloqu öz biliyini və təcrübəsini başqaları ilə bölüşməyə, məhsuldarlığı və səmərəliliyi artırmaq üçün asan izlənilən məsləhətlər və dərslikləri təqdim etməyə həsr olunub. İstər təcrübəli peşəkar, istərsə də yeni başlayan biri olmağınızdan asılı olmayaraq, Mayklın bloqu bu vacib proqram alətlərindən maksimum yararlanmaq üçün dəyərli fikirlər və praktiki məsləhətlər təklif edir.