Excelде SUM, VLOOKUP, LEFT жана башкалар сыяктуу жүздөгөн камтылган функциялар бар болсо да, жеткиликтүү камтылган функциялар, адатта, өтө татаал тапшырмаларды аткаруу үчүн жетиштүү эмес. Бирок, кабатыр болбоңуз, анткени керектүү функцияларды өзүңүз гана түзүшүңүз керек.
Кадам
Кадам 1. Жаңы жумушчу китепти түзүңүз же Колдонуучу тарабынан аныкталган функциялар (UDF) менен иштегиңиз келген жумушчу китепти ачыңыз
Кадам 2. Microsoft Excelде Visual Basic Editorду Tools-> Macro-> Visual Basic Editor аркылуу ачыңыз (же Alt+F11 жарлыктарын басыңыз)
Кадам 3. Жумуш барагыңызга жаңы модуль кошуу үчүн Модуль баскычын басыңыз
Сиз жаңы модулду кошпостон, жумушчу китепке UDF түзө аласыз, бирок ошол эле иш китебиндеги башка барактарда функция иштебейт.
Кадам 4. Функцияңыздын "башын" же "прототипин" түзүңүз
Функциянын прототиби төмөнкү структурага ылайык келиши керек:
коомдук функция "Функциянын аталышы" (paramet11 As type1, paramet22 As type2) As Result type.
Прототиптер мүмкүн болушунча көп функцияга ээ болушу мүмкүн жана алардын түрлөрү диапазон түрүндөгү бардык негизги маалымат түрлөрү же Excel объекттеринин түрлөрү болушу мүмкүн. Сиз параметрлерди функция иштей турган "операторлор" (операторлор) деп ойлосоңуз болот. Мисалы, 45 даража синусун эсептөө үчүн SIN (45) деп жазганда, 45 саны параметр катары алынат. Андан кийин, функция коду бул баалуулуктарды эсептөөлөрдү жүргүзүү жана натыйжаларды көрсөтүү үчүн колдонот.
Кадам 5. Сиз камсыз кылуу үчүн функция кодун кошуңуз: 1) параметр тарабынан берилген маанини колдонуңуз; 2) натыйжаны функциянын атына өткөрүп берүү; жана 3) функцияны "аяктоо функциясы" сүйлөмү менен жабуу. ВБАда же башка тилде программаны үйрөнүү көп убакытты жана деталдуу жетекчиликти талап кылат. Бактыга жараша, бул функциялар адатта кичинекей код блокторуна ээ жана программалоо тилинин өзгөчөлүктөрүн көп колдонушпайт. Бул жерде колдонула турган VBA тилинин кээ бир элементтери:
- If (if) блогу, бул шарт аткарылганда гана коддун бир бөлүгүн аткарууга мүмкүндүк берет. Мисал катары:
- . Башка сөздү коддун экинчи бөлүгү менен кошо калтырууга болот, анткени ал милдеттүү эмес.
- Do (do) блогу, качан же качан кодунун бир бөлүгүн шарт аткарылганга чейин аткарат. Мисал катары:
- . Ошондой эле өзгөрмөнү "жарыялаган" экинчи сапка көңүл буруңуз. Сиз кийинчерээк колдонуу үчүн кодуңузга өзгөрмөлөрдү кошо аласыз. Өзгөрмөлөр коддо убактылуу баалуулуктар катары иштейт. Акырында, функциянын декларациясын BOOLEAN катары караңыз, бул TRUE же FALSE маанилерине гана уруксат берген маалымат түрү. Жөнөкөй сандарды аныктоонун бул ыкмасы оптималдуу эмес, бирок код окууга оңой болуп жазылган.
- Блок үчүн (to), бул белгилүү бир кодду аткарат. Мисал катары:
- Түздөн -түз уяча формуласына киргизилген туруктуу маани. Бул учурда текст (сап) цитата келтирилиши керек.
- Мисалы, уюлдук шилтемелер B6 же окшош диапазон A1: C3 (параметр "Range" маалымат түрүндө болушу керек)
-
Функцияңызга камтылган дагы бир функция (сиздин функцияны башка функцияга кошсо болот), мисалы: = Фактордук (MAX (D6: D8))
Кадам 7. Жыйынтыктардын туура экенин текшериңиз
Функциянын ар кандай параметр баалуулуктарын туура иштете алаарына ынануу үчүн аны бир нече жолу колдонуңуз:
Кеңештер
- If, For, Do ж. Бул кодду түшүнүүнү жеңилдетет жана каталарды табууну бир топ жеңилдетет. Мындан тышкары, функционалдуулукту жогорулатуу оңой болуп калат.
- Эгерде сиз функциялар үчүн код жазууну билбесеңиз, Microsoft Excelде жөнөкөй макро кантип жазуу керек деген макаланы окуңуз.
- Кээде, натыйжаларды эсептөө үчүн функцияларга бардык параметрлердин кереги жок. Бул учурда, сиз функциянын аталышындагы параметр аталышынан мурун, Кошумча ачкыч сөзүн колдоно аласыз. Сиз кодго IsMissing (parameter_name) функциясын колдонуп, параметрге маани берилген -берилбегенин аныктай аласыз.
- Колдонулбаган аттарды Excelде функциялар катары колдонуңуз, андыктан эч кандай функциялар жазылып жок кылынбайт.
- Excelде көптөгөн камтылган функциялар бар жана көпчүлүк эсептөөлөр бул камтылган функциялардын жардамы менен жеке же бир убакта аткарылышы мүмкүн. Өзүңүздү коддоону баштоодон мурун, жеткиликтүү функциялардын тизмесин карап көрүңүз. Эгерде сиз орнотулган функцияларды колдонсоңуз, аткаруу тезирээк жасалышы мүмкүн.
Эскертүү
- Коопсуздук максатында, көптөгөн адамдар макросторду өчүрүшөт. Жумуш китебиңиздин алуучуларына тапшырылган иш китебинде макростар бар экенин жана бул макростар алардын компьютерлерине зыян келтирбесин билдириңиз.
- Бул макалада колдонулган функция байланышкан маселени чечүүнүн эң жакшы жолу эмес. Мисал тилди башкаруу структураларынын колдонулушун түшүндүрүү үчүн колдонулат.
- VBA, башка тилдер сыяктуу эле, Do, If жана Forдон башка дагы бир нече башкаруу структураларына ээ. Бул жерде талкууланган структура функциянын баштапкы кодунда эмне кылса болорун гана сүрөттөйт. Интернетте VBA үйрөнүүгө жардам берүү үчүн колдонула турган көптөгөн колдонмолор бар.
Коомдук функция Курстун жыйынтыгы (Бүтүн мааниси катары) String катары
Эгерде маани> = 5 болсо
Курстун жыйынтыгы = "Кабыл алынды"
Башка
Курстун жыйынтыгы = "Четке кагылды"
If If
Аяктоо функциясы
If code блогундагы элементтерге көңүл буруңуз:
IF шарты THEN коду башка башка код END
Public Function BilPrima (бүтүн санда) логикалык
Dim i As Integer
i = 2
BilPrima = Чын
Кыл
Эгерде маани / i = Int (маани / i) Анда
BilPrima = Жалган
If If
i = i + 1
Loop while i <value And NumberPrima = True
Аяктоо функциясы
Элементтерди кайра караңыз:
ШАРТТЫН УБАКЫТЫНА ЧЕЙИН кодду кылыңыз
Коомдук функционалдык фактор (бүтүн санда)
Натыйжалар узун
Dim i As Integer
Эгерде маани = 0 Анда
натыйжа = 1
ElseIf мааниси = 1 Андан кийин
натыйжа = 1
Башка
натыйжа = 1
I = 1 үчүн
натыйжа = натыйжа * i
Кийинки
If If
Factorial = жыйынтык
Аяктоо функциясы
Элементтерди кайра караңыз:
ҮЧҮН ҮЧҮН = төмөнкү чек TO кийинки коддун жогорку чеги
. Ошондой эле, If билдирүүсүндө кошумча ElseIf элементине көңүл буруңуз, ал аткарылып жаткан кодго көбүрөөк мүмкүнчүлүктөрдү кошууга мүмкүндүк берет. Акырында, "натыйжа" функциясын жана Long деп жарыяланган өзгөрмөнү карап көрүңүз. Узун маалымат түрү Integerге караганда алда канча чоң маанилерге мүмкүндүк берет.
Төмөндө кичинекей сандарды сөзгө айландыруучу функциянын коду көрсөтүлгөн.
Кадам 6. Иш китебине кайтып келиңиз жана "барабар" белгисин (=) жазуу менен функцияны колдонуңуз, андан кийин уячанын ичинде функция аталышы
Белгини колдонуп, ачылуучу кашаанын ("(") функциясынын атынан кийин жазыңыз кома Параметрлерди ажыратуу жана жабуучу кашаа менен бүтүү (")"). Мисал катары:
= NumberToLetter (A4)
. Ошондой эле үй формулаларын категориялар боюнча издеп колдонсоңуз болот Колдонуучу тарабынан аныкталган Формула кыстаруу параметринин ичинде. Сиз жөн гана баскычты чыкылдатыңыз Fx формула тилкесинин сол жагында. Функцияларда параметрлердин үч түрү бар: