Агуулгын хүснэгт
Өнөөдөр бид 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( Cells(ActiveCell.CurrentRegion.Row, ActiveCell.Column), Cells(ActiveCell.CurrentRegion.Rows.Count _ + ActiveCell.CurrentRegion.Row - 1, ActiveCell.Column)) maxcase = GetMaxBetween(.Cells, 10)i =50 Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End with End SubМакро код нь захиалгат функцийг агуулна
GetMaxBetween(.Cells, 10, 50)
Энэ нь идэвхтэй баганад хамгийн их утгыг олно. Дараа нь энэ утгыг онцлон харуулах болно. Та макроны үр дүнг доорх дэлгэцийн зургаас харж болно.
Захиалгат функцийг өөр захиалгат функц дотор бас ашиглаж болно. Манай блогийн эхэнд бид SpellNumber нэртэй захиалгат функцийг ашиглан тоог текст болгон хөрвүүлэх асуудлыг авч үзсэн.
Түүний тусламжтайгаар бид мужаас хамгийн их утгыг шууд авах боломжтой. Үүнийг текст болгон бичнэ үү.
Үүний тулд бид функцуудыг ашиглах шинэ захиалгат функцийг үүсгэнэ.Бидэнд аль хэдийн танил болсон GetMaxBetween болон SpellNumber .
Функц нь таны харж байгаагаар GetMaxBetween функц нь өөр захиалгат функц болох SpellNumber -ын аргумент юм. Энэ нь бид өмнө нь олон удаа хийж байсан шиг хамгийн их утгыг тодорхойлдог. Дараа нь энэ тоог текст болгон хөрвүүлнэ.
Дээрх дэлгэцийн агшинд та SpellGetMaxBetween функц 100-аас 500 хүртэлх хамгийн их тоог хэрхэн олохыг харж болно. дараа нь үүнийг текст болгон хувиргадаг.
Бусад ажлын номноос UDF дуудах
Хэрэв та ажлын дэвтэртээ UDF-г үүсгэсэн бол харамсалтай нь энэ нь танд ямар ч асуудал гарахгүй гэсэн үг биш юм.
Миний туршлагаас харахад ихэнх хэрэглэгчид эрт орой хэзээ нэгэн цагт бие даасан процесс, тооцооллыг автоматжуулахын тулд макро болон захиалгат функцуудын хувийн цуглуулгыг бий болгодог. Эндээс асуудал гарч ирнэ - Visual Basic-ийн хэрэглэгчийн тодорхойлсон функцүүдийн кодыг ажилдаа дараа нь ашиглахын тулд хаа нэгтээ хадгалах шаардлагатай.
Захиалгат функцийг ашиглахын тулд таны хадгалсан ажлын ном нээлттэй байх ёстой. таны Excel дээр. Хэрэв тийм биш бол та #NAME авах болно! ашиглахыг оролдох үед алдаа гардаг. Энэ алдаа нь Excel таны томьёонд ашиглахыг хүсэж буй функцын нэрийг мэдэхгүй байгааг харуулж байна.
Холбогдох аргуудыг харцгаая.Та өөрийн үүсгэсэн захиалгат функцуудыг ашиглаж болно.
Арга 1. Функцид ажлын номын нэрийг нэмнэ үү
Та ажлын номын нэрийн өмнө байрлаж байгаа ажлын номын нэрийг зааж өгч болно. функц. Жишээлбэл, хэрэв та GetMaxBetween() захиалгат функцийг My_Functions.xlsm нэртэй ажлын дэвтэрт хадгалсан бол дараах томъёог оруулах ёстой:
= 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) нэмэлт форматтай. Үүнийг хийхийн тулд File - Save As цэс эсвэл F12 товчийг ашиглана уу. Файлын төрлийг зааж өгөхөө мартуузай Excel Add-in :
Таны нэмэлт өргөтгөл .xlam өргөтгөлтэй байх болно.
Зөвлөгөө. Үүнийг анхаарна ууExcel нь анхдагч байдлаар нэмэлтүүдийг C:\Users\[Таны_Нэр]\AppData\Roaming\Microsoft\AddIns хавтсанд хадгалдаг. Би танд анхдагч байршлыг зөвшөөрөхийг зөвлөж байна. Хэрэв та хүсвэл өөр хавтас зааж өгч болно. Гэхдээ дараа нь нэмэлтийг холбохдоо та түүний шинэ байршлыг гараар олж, зааж өгөх хэрэгтэй болно. Хэрэв та үүнийг анхдагч хавтсанд хадгалсан бол компьютер дээрээ нэмэлт програм хайх шаардлагагүй болно. Excel үүнийг автоматаар жагсаах болно.
Алхам 2. Нэмэлт файлыг холбоно уу
Одоо бидний үүсгэсэн нэмэлтийг Excel-д холбох шаардлагатай. Дараа нь програм эхлэхэд автоматаар ачаалагдах болно. Үүнийг хийхийн тулд Файл - Сонголтууд - Нэмэлтүүд цэсийг ашиглана уу. Manage талбарт Excel Add-Ins сонгогдсон эсэхийг шалгана уу. Цонхны доод талд байгаа Go товчийг дарна уу. Гарч ирэх цонхон дээр бидний My_Functions нэмэлтийг тэмдэглэнэ үү. Жагсаалтад харагдахгүй байгаа бол Үзэх товчийг дараад нэмэлт файлынхаа байршлыг нээнэ үү.
Хэрэв та захиалгат функцүүдийг хадгалах нэмэлт хэрэгсэл ашиглаж байгаа тул дагаж мөрдөх энгийн нэг дүрэм бий. Хэрэв та ажлын номыг өөр хүмүүст шилжүүлж байгаа бол өөрийн хүссэн функцийг агуулсан нэмэлтийн хуулбарыг шилжүүлэхээ мартуузай. Тэд үүнийг таны одоогийнхтой адил холбох ёстой.
Алхам 3. Нэмэлтэнд захиалгат функцууд болон макронуудыг нэмнэ үү
Манай нэмэлт нь Excel-д холбогдсон боловч энэ нь холбогдохгүй. ямар ч функц байхгүйхараахан. Үүнд шинэ UDF нэмэхийн тулд Alt + F11 товчийг дарж Visual Basic редакторыг нээнэ үү. Дараа нь та миний UDFs үүсгэх зааварт тайлбарласны дагуу VBA код бүхий шинэ модулиудыг нэмж болно.
Нэмэлт файлаа ( My_Finctions.xlam ) дотроос сонгоно уу. VBAProject цонх. Захиалгат модулийг нэмэхийн тулд Insert - Module цэсийг ашиглана уу. Та үүнд захиалгат функцуудыг бичих хэрэгтэй.
Та хэрэглэгчийн тодорхойлсон функцийн кодыг гараар бичиж эсвэл хаа нэг газраас хуулж болно.
Ингээд л болоо. Одоо та өөрийн нэмэлт програмыг үүсгэж, Excel-д нэмсэн бөгөөд үүнд UDF ашиглах боломжтой. Хэрэв та илүү олон UDF ашиглахыг хүсвэл VBA засварлагчийн нэмэлт модулийн кодыг бичээд хадгална уу.
Өнөөдөр л ийм байна. Бид таны ажлын дэвтэрт хэрэглэгчийн тодорхойлсон функцуудыг хэрхэн ашиглах талаар сурсан. Эдгээр удирдамж танд хэрэг болно гэдэгт бид үнэхээр найдаж байна. Хэрэв танд асуулт байгаа бол энэ нийтлэлийн сэтгэгдэлд бичнэ үү.