Excel artıq SUM, VLOOKUP, LEFT və sair kimi yüzlərlə daxili funksiyaya malik olsa da, mövcud daxili funksiyalar ümumiyyətlə kifayət qədər mürəkkəb vəzifələri yerinə yetirmək üçün kifayət etmir. Ancaq narahat olmayın, çünki lazım olan funksiyaları yalnız özünüz yaratmalısınız.
Addım
Addım 1. Yeni bir iş kitabı yaradın və ya İstifadəçi tərəfindən müəyyən edilmiş funksiyalar (UDF) ilə işləmək istədiyiniz iş kitabını açın
Addım 2. Microsoft Excel-də Alətlər-> Makro-> Visual Basic Redaktoru vasitəsi ilə Visual Basic Redaktorunu açın (və ya Alt+F11 qısa yollarını basın)
Addım 3. İş səhifənizə yeni bir modul əlavə etmək üçün Modul düyməsini basın
Yeni bir modul əlavə etmədən bir iş kitabında UDF yarada bilərsiniz, ancaq funksiya eyni iş kitabındakı digər iş səhifələrində işləməyəcək.
Addım 4. Funksiyanızın "başını" və ya "prototipini" yaradın
Funksiya prototipi aşağıdakı quruluşa uyğun olmalıdır:
ictimai funksiya "Function Name" (parametre1 Tip1 olaraq, parametre2 As tip2) Nəticə növü kimi.
Prototiplər mümkün qədər çox funksiyaya sahib ola bilər və onların növləri Range şəklində bütün əsas məlumat növləri və ya Excel obyekt növləri ola bilər. Parametrləri, funksiyanın işləyəcəyi "operatorlar" (operatorlar) kimi düşünə bilərsiniz. Məsələn, sinusun 45 dərəcəsini hesablamaq üçün SIN (45) yazdığınız zaman, 45 rəqəmi parametr olaraq alınacaq. Sonra, funksiya kodu bu dəyərləri hesablamalar aparmaq və nəticələri göstərmək üçün istifadə edəcək.
Addım 5. Əmin olmaq üçün funksiya kodunu əlavə edin: 1) parametr tərəfindən verilən dəyəri istifadə edin; 2) nəticəni funksiya adına ötürmək; və 3) funksiyanı "son funksiyası" cümləsi ilə bağlayın. VBA və ya başqa dildə proqram öyrənmək çox vaxt və ətraflı rəhbərlik tələb edir. Xoşbəxtlikdən, bu funksiyalar ümumiyyətlə kiçik kod bloklarına malikdir və proqramlaşdırma dili xüsusiyyətlərindən çox istifadə etmir. Burada istifadə edilə bilən VBA dilinin bəzi elementləri:
- Kodun bir hissəsini yalnız şərt yerinə yetirildikdə icra etməyə imkan verən If (if) bloku. Nümunə olaraq:
- . İstəyə bağlı olaraq kodun ikinci hissəsi ilə birlikdə Başqa açar sözünü də tərk edə bilərsiniz.
- Şərt yerinə yetirilənə qədər və ya qədər kodunun bir hissəsini icra edən Do (do) bloku. Nümunə olaraq:
- . Dəyişəni "elan edən" ikinci sətirə də diqqət yetirin. Daha sonra istifadə etmək üçün kodunuza dəyişənlər əlavə edə bilərsiniz. Dəyişənlər kodda müvəqqəti dəyərlər rolunu oynayır. Nəhayət, funksiya bəyannaməsini yalnız DOĞRU və ya YANLIŞ dəyərlərə icazə verən bir məlumat növü olan BOOLEAN olaraq nəzərdən keçirin. Baş ədədləri təyin etməyin bu üsulu optimaldan çox uzaqdır, lakin kod oxunması asan olacaq şəkildə yazılmışdır.
- Blok üçün (to), müəyyən bir kodu yerinə yetirir. Nümunə olaraq:
- Birbaşa hüceyrə formuluna yazılan sabit bir dəyər. Bu halda mətn (simli) sitat gətirilməlidir.
- Hüceyrə istinadları, məsələn B6 və ya kimi bir sıra A1: C3 (parametr "Range" məlumat növü olmalıdır)
-
Funksiyanıza daxil olan başqa bir funksiya (funksiyanız başqa bir funksiyaya da əlavə edilə bilər), məsələn: = Faktorial (MAX (D6: D8))
Addım 7. Nəticələrin doğru olduğundan əmin olun
Funksiyanın müxtəlif parametr dəyərlərini düzgün idarə edə biləcəyinə əmin olmaq üçün bir neçə dəfə istifadə edin:
İpuçları
- If, For, Do, vs. kimi idarəetmə strukturlarında kod blokları yazarkən, boşluq çubuğuna və ya nişana bir neçə dəfə basaraq kod blokunu daxil edin (sol xəttin sərhədini bir az daxil edin). Bu, kodu başa düşməyi asanlaşdıracaq və səhvləri tapmaq daha asan olacaq. Bundan əlavə, funksionallığı artırmaq daha asan olur.
- Funksiyalar üçün kod yazmağı bilmirsinizsə, Microsoft Excel -də sadə makro necə yazılır məqaləsini oxuyun.
- Bəzən nəticəni hesablamaq üçün funksiyaların bütün parametrlərə ehtiyacı yoxdur. Bu vəziyyətdə, funksiya başlığındakı parametr adından əvvəl Optional açar sözündən istifadə edə bilərsiniz. Bir parametrə dəyər veriləcəyini təyin etmək üçün kodunuzdakı IsMissing (parameter_name) funksiyasından istifadə edə bilərsiniz.
- Heç bir funksiyanın üzərinə yazılmaması və silinməməsi üçün istifadə edilməmiş adları Excel -də funksiyalar kimi istifadə edin.
- Excel-in bir çox daxili funksiyası var və əksər hesablamalar fərdi olaraq və ya bir anda bu daxili funksiyalardan istifadə etməklə həyata keçirilə bilər. Özünüzü kodlamağa başlamazdan əvvəl mövcud funksiyaların siyahısına baxdığınızdan əmin olun. Daxili funksiyalardan istifadə etsəniz icra daha sürətli edilə bilər.
Xəbərdarlıq
- Təhlükəsizlik səbəbiylə bir çox insan makroları deaktiv edir. İş kitabı alıcılarınıza təqdim olunan iş kitabında makroların olduğunu və bu makroların kompüterlərinə zərər verməyəcəyini bildirdiyinizə əmin olun.
- Bu yazıda istifadə olunan funksiya əlaqəli problemi həll etməyin ən yaxşı yolu deyil. Bu nümunə dil idarəetmə strukturlarının istifadəsini izah etmək üçün istifadə olunur.
- VBA, digər dillər kimi, Do, If və For -dan başqa bir neçə başqa idarəetmə quruluşuna malikdir. Burada müzakirə olunan quruluş yalnız funksiyanın mənbə kodunda nələr edilə biləcəyini təsvir edir. İnternetdə VBA öyrənməyinizə kömək etmək üçün istifadə edilə biləcək bir çox bələdçi var.
İctimai Fonksiyon Kurs Nəticəsi (Tam ədəd olaraq) String olaraq
Əgər dəyər> = 5 olarsa
Kurs Nəticələri = "Qəbul edildi"
Başqa
Kurs Nəticələri = "Rədd edildi"
Bitirsə
Bitmə funksiyası
If code blokundakı elementlərə diqqət yetirin:
IF ŞƏRTİNDƏN SONRA ƏLKƏ kodunu END END
İctimai Fonksiyon BilPrima (dəyər olaraq Tamsayı) Boolean olaraq
Tam və tam olaraq
i = 2
BilPrima = Doğrudur
Et
Əgər dəyər / i = Int (dəyər / i) Sonra
BilPrima = Yanlış
Bitirsə
i = i + 1
I <dəyər Və NumberPrima = Doğrudur
Bitmə funksiyası
Elementlərə yenidən baxın:
LOOP WHILE/UNTIL şərti ilə kod yazın
İctimai Funksiya Faktorialı (dəyər Tamsayı olaraq) Uzun müddətdir
Qısa nəticələr
Tam və tam olaraq
Əgər dəyər = 0 olarsa
nəticə = 1
ElseIf dəyəri = 1 Sonra
nəticə = 1
Başqa
nəticə = 1
İ = 1 üçün dəyər
nəticə = nəticə * i
Sonrakı
Bitirsə
Faktorial = nəticə
Bitmə funksiyası
Elementlərə yenidən baxın:
Dəyişən üçün = alt limit TO kodunun SONRAKI
. Ayrıca, If ifadəsindəki icra olunan koda daha çox seçim əlavə etməyə imkan verən əlavə ElseIf elementinə diqqət yetirin. Nəhayət, "nəticə" funksiyasını və Uzun olaraq elan edilən dəyişəni nəzərdən keçirin. Uzun məlumat növü, Integer -dən daha böyük dəyərlərə imkan verir.
Aşağıda kiçik rəqəmləri sözə çevirən bir funksiyanın kodu göstərilmişdir.
Addım 6. İş kitabına qayıdın və "bərabərdir" simvolunu (=) və sonra hüceyrədəki funksiyanın adını yazaraq funksiyadan istifadə edin
İşarə istifadə edərək, açılış mötərizələrini ("(") funksiya adından sonra yazın koma parametrləri ayırmaq və mötərizəni bağlamaqla bitirmək (")"). Nümunə olaraq:
= NumberToLetter (A4)
. Ev formulalarından kateqoriyalarda axtarıb da istifadə edə bilərsiniz Müəyyən edilmiş istifadəçi Formula daxil et seçimində. Yalnız düyməni basın Fx formula çubuğunun solunda. Funksiyalarda üç növ parametr forması var: