Мазмұны
Бүгін біз арнайы Excel функцияларын зерттеуді жалғастырамыз. UDF файлдарын қалай жасау керектігін бұрыннан білетіндіктен (және оларды Excel бағдарламасында да қолдануға тырыстыңыз деп үміттенемін), келіңіз, сәл тереңірек зерттеп, Excel бағдарламасында пайдаланушы анықтайтын функцияларды пайдалану және сақтау жолын үйренейік.
Сонымен қатар, біз сізге функцияларды Excel қондырма файлында қалай оңай сақтау керектігін, оларды кейінірек бірнеше рет басу арқылы пайдалану керектігін көрсетеміз.
Сонымен, біз мынаны айтатын боламыз:
Excel бағдарламасында UDF пайдаланудың әртүрлі тәсілдері
Жұмыс парақтарында UDF пайдалану
UDF файлдарыңыздың дұрыс жұмыс істеп тұрғанын тексергеннен кейін оларды Excel бағдарламасында пайдалануға болады. формулалар немесе VBA кодында.
Excel жұмыс кітабында теңшелетін функцияларды кәдімгі функцияларды пайдаланатындай қолдана аласыз. Мысалы, ұяшыққа төмендегі формуланы жазыңыз:
= GetMaxBetween(A1:A6,10,50)
UDF қалыпты функциялармен бірге қолданылуы мүмкін. Мысалы, есептелген максималды мәнге мәтін қосыңыз:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
Нәтижені төмендегі скриншоттан көре аласыз:
Сіз максималды әрі 10-дан 50-ге дейінгі аралықта болатын санды таба алады.
Басқа формуланы тексерейік:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
Теңшелетін функция GetMaxBetween B2:B9 ауқымын тексереді және 10 мен 50 арасындағы максималды санды табады. Содан кейін INDEX + MATCH көмегімен біз осы ең үлкен мәнге сәйкес келетін өнім атауын аламыз:
Көріп отырғаныңыздай, теңшелетін функцияларды пайдалану кәдімгі Excel бағдарламасынан онша ерекшеленбейдіфункциялары.
Мұны орындаған кезде пайдаланушы анықтайтын функция мәнді ғана қайтара алатынын, бірақ басқа әрекеттерді орындай алмайтынын есте сақтаңыз. Пайдаланушы анықтайтын функциялардың шектеулері туралы толығырақ оқыңыз.
VBA процедуралары мен функцияларында UDF пайдалану
UDF-терді VBA макростарында да пайдалануға болады. Төменде белсенді ұяшықты қамтитын бағандағы 10-нан 50-ге дейінгі ауқымдағы ең үлкен мәнді іздейтін макрокодты көре аласыз.
Sub MacroWithUDF() Dim Rng As Range, maxcase, i As Long With ActiveSheet.Range( Ұяшықтар(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Ұяшықтар(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Макрокодта реттелетін функция бар
GetMaxBetween(.Cells, 10, 50)
Ол белсенді бағандағы ең үлкен мәнді табады. Содан кейін бұл мән бөлектеледі. Төмендегі скриншотта макростың нәтижесін көре аласыз.
Таңдамалы функцияны басқа теңшелетін функцияның ішінде де пайдалануға болады. Блогымыздың басында біз SpellNumber деп аталатын теңшелетін функцияның көмегімен санды мәтінге түрлендіру мәселесін қарастырдық.
Оның көмегімен біз диапазоннан максималды мәнді бірден ала аламыз. оны мәтін ретінде жазыңыз.
Ол үшін біз функцияларды қолданатын жаңа теңшелетін функция жасаймыз.Бізге бұрыннан таныс GetMaxBetween және SpellNumber .
SpellGetMaxBetween функциясы (rngҰяшықтар диапазон, минимум, максимум) SpellGetMaxBetween = SpellNumber(GetMaxBetween,NMm)d ФункцияКөріп отырғаныңыздай, GetMaxBetween функциясы басқа теңшелетін функцияның аргументі болып табылады, SpellNumber . Ол максималды мәнді анықтайды, біз бұрын бірнеше рет жасағанбыз. Содан кейін бұл сан мәтінге түрлендіріледі.
Жоғарыдағы скриншотта SpellGetMaxBetween функциясы 100 мен 500 арасындағы максималды санды қалай табатынын және содан кейін оны мәтінге түрлендіреді.
Басқа жұмыс кітаптарынан UDF шақыру
Егер сіз жұмыс кітабыңызда UDF жасаған болсаңыз, бұл, өкінішке орай, сізде ешқандай мәселе болмайды дегенді білдірмейді.
Менің тәжірибем бойынша, пайдаланушылардың көпшілігі ерте ме, кеш пе жеке процестер мен есептеулерді автоматтандыру үшін макростар мен реттелетін функциялардың жеке жинағын жасайды. Міне, мәселе туындайды – Visual Basic-тегі пайдаланушы анықтаған функциялардың коды кейінірек жұмыста пайдалану үшін бір жерде сақталуы керек.
Теңшелетін функцияны қолдану үшін оны сақтаған жұмыс кітабы ашық болуы керек. Excel бағдарламасында. Егер олай болмаса, сіз #NAME аласыз! пайдалану әрекеті кезінде қате. Бұл қате Excel бағдарламасы формулада пайдаланғыңыз келетін функцияның атын білмейтінін көрсетеді.
Тәсілдерді қарастырайық.онда сіз жасаған теңшелетін функцияларды пайдалана аласыз.
1-әдіс. Функцияға жұмыс кітабының атын қосыңыз
Ол жұмыс кітабының атауының алдында ол орналасқан жұмыс кітабының атын көрсете аласыз. функциясы. Мысалы, My_Functions.xlsm деп аталатын жұмыс кітабында GetMaxBetween() теңшелетін функцияны сақтаған болсаңыз, келесі формуланы енгізуіңіз керек:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
2-әдіс. Барлық UDF файлдарын бір жалпы файлда сақтаңыз
Барлық теңшелетін функцияларды бір арнайы жұмыс кітабында сақтаңыз (мысалы, My_Functions.xlsm ) және одан қажетті функцияны көшіріңіз. қажет болса, ағымдағы жұмыс кітабын.
Жаңа теңшелетін функцияны жасаған сайын оның кодын оны пайдаланатын жұмыс кітабында көшіру керек. Бұл әдіспен бірнеше қолайсыздықтар туындауы мүмкін:
- Егер жұмыс істейтін файлдар көп болса және функция барлық жерде қажет болса, онда кодты әр кітапқа көшіру керек болады.
- Жұмыс кітабын макрос қосылған пішімде (.xlsm немесе .xlsb) сақтауды ұмытпаңыз.
- Мұндай файлды ашқан кезде макростардан қорғау әр жолы расталуы керек ескертуді көрсетеді. Көптеген пайдаланушылар макростарды қосуды сұрайтын сары жолақ ескертуін көргенде қорқады. Бұл хабарды көрмеу үшін Excel қорғауын толығымен өшіру керек. Дегенмен, бұл әрқашан дұрыс және қауіпсіз бола бермеуі мүмкін.
Сіз менімен келісетін шығарсыз деп ойлаймын.файлды ашу және одан пайдаланушы анықтайтын функциялардың кодын көшіру немесе осы файлдың атын формулаға жазу ең жақсы шешім емес. осылайша біз үшінші жолға келдік.
3-әдіс. Excel қондырма файлын жасау
Менің ойымша, ең жақсы әдіс - Excel қондырма файлында жиі қолданылатын теңшелетін функцияларды сақтау. . Қондырманы пайдаланудың артықшылықтары:
- Қондырманы Excel бағдарламасына бір рет қосу керек. Осыдан кейін сіз оның процедуралары мен функцияларын осы компьютердегі кез келген файлда пайдалана аласыз. Жұмыс кітаптарыңызды .xlsm және .xlsb пішімінде сақтаудың қажеті жоқ, себебі бастапқы код оларда емес, қондырма файлында сақталады.
- Енді макростарды қорғау сізді алаңдатпайды. қондырмалар әрқашан сенімді көздерге сілтеме жасайды.
- Қондырма жеке файл болып табылады. Оны компьютерден компьютерге тасымалдау, оны әріптестермен бөлісу оңай.
Қондырманы жасау және пайдалану туралы кейінірек айтатын боламыз.
Қосымшаны пайдалану теңшелетін функцияларды сақтауға арналған ins
Мен өз қондырымды қалай жасаймын? Осы процесті кезең-кезеңімен қарастырайық.
1-қадам. Қондырма файлын жасаңыз
Microsoft Excel бағдарламасын ашыңыз, жаңа жұмыс кітабын жасаңыз және оны кез келген сәйкес атаумен сақтаңыз (мысалы, My_Functions) қондырма пішімінде. Ол үшін Файл - Басқаша сақтау мәзірін немесе F12 пернесін пайдаланыңыз. Файл түрін көрсетуді ұмытпаңыз Excel қондырмасы :
Қондырғышыңызда .xlam кеңейтімі болады.
Кеңес. Назар аударыңызәдепкі бойынша Excel қондырмаларды C:\Users\[Your_Name]\AppData\Roaming\Microsoft\AddIns қалтасында сақтайды. Мен сізге әдепкі орынды қабылдауды ұсынамын. Қаласаңыз, кез келген басқа қалтаны көрсетуге болады. Бірақ содан кейін қондырманы қосқан кезде оның жаңа орнын қолмен тауып, көрсету керек болады. Оны әдепкі қалтаға сақтасаңыз, қондырманы компьютерден іздеудің қажеті жоқ. Excel оны автоматты түрде тізімдейді.
2-қадам. Қондырма файлын қосыңыз
Енді біз жасаған қондырма Excel бағдарламасына қосылуы керек. Содан кейін бағдарлама басталған кезде ол автоматты түрде жүктеледі. Ол үшін Файл - Параметрлер - Қондырмалар мәзірін пайдаланыңыз. Басқару өрісінде Excel қондырмалары таңдалғанын тексеріңіз. Терезенің төменгі жағындағы Өту түймесін басыңыз. Пайда болған терезеде My_Functions қондырмасын белгілеңіз. Тізімде оны көрмесеңіз, Шолу түймесін басып, қондырма файлының орнын шолыңыз.
Егер реттелетін функцияларды сақтау үшін қондырманы пайдаланып жатқанда, бір қарапайым ережені орындау керек. Жұмыс кітабын басқа адамдарға тасымалдасаңыз, қалаған функционалдығы бар қондырманың көшірмесін де тасымалдауды ұмытпаңыз. Олар оны қазір сіз істегендей қосуы керек.
3-қадам. Қондырмаға реттелетін функциялар мен макростарды қосыңыз
Біздің қондырма Excel бағдарламасына қосылған, бірақ ол қосылмаған. ешқандай функционалдығы жоқәлі. Оған жаңа UDF файлдарын қосу үшін Alt + F11 пернелерін басу арқылы Visual Basic өңдегішін ашыңыз. Содан кейін менің UDF жасау оқулығымда сипатталғандай VBA коды бар жаңа модульдерді қосуға болады.
Қондырма файлыңызды ( My_Finctions.xlam ) таңдаңыз. VBAProject терезесі. Пайдаланушы модулін қосу үшін Кірістіру - Модуль мәзірін пайдаланыңыз. Оған теңшелетін функцияларды жазу керек.
Пайдаланушы анықтаған функцияның кодын қолмен теруге немесе оны бір жерден көшіруге болады.
Барлығы осы. Енді сіз өзіңіздің қондырмаңызды жасадыңыз, оны Excel бағдарламасына қостыңыз және онда UDF пайдалана аласыз. Егер сіз көбірек UDF қолданғыңыз келсе, VBA редакторындағы қондырма модуліне кодты жазып, оны сақтаңыз.
Бүгінгі күні солай. Жұмыс кітабыңызда пайдаланушы анықтаған функцияларды пайдалану жолын үйрендік. Бұл нұсқаулар сізге пайдалы деп үміттенеміз. Егер сізде сұрақтар туындаса, осы мақалаға түсініктемелерде жазыңыз.