Tabloya naverokê
Îro em ê lêgerîna fonksiyonên xwerû yên Excel bidomînin. Wekî ku hûn jixwe dizanin ku meriv çawa UDF-yan biafirîne (û ez hêvî dikim, we jî hewl daye ku wan di Excel-ê de bicîh bikin), werin em hinekî kûr bikolin û fêr bibin ka meriv çawa fonksiyonên diyarkirî yên bikarhêner li Excel bikar tîne û hilîne.
Wekî din, em ê nîşanî we bidin ka meriv çawa fonksiyonên xwe bi hêsanî di pelek pêvekek Excel de hilîne da ku paşê wan bi çend klîk bikar bîne.
Ji ber vê yekê, em ê li ser çi biaxivin ev e:
Rêyên cuda yên bikaranîna UDF-ê di Excel de
Bikaranîna UDF-yan di pelên xebatê de
Dema ku we piştrast kir ku UDF-yên we rast dixebitin, hûn dikarin wan di Excel de bikar bînin. formulas an jî di koda VBA de.
Hûn dikarin fonksiyonên xwerû di pirtûka xebatê ya Excel de bi heman awayê ku hûn fonksiyonên birêkûpêk bikar tînin bicîh bikin. Mînakî, tenê di şaneyek de formula jêrîn binivîsin:
= GetMaxBetween(A1:A6,10,50)
UDF dikare bi fonksiyonên birêkûpêk re bi hev re were bikar anîn. Mînakî, nivîsê li nirxa herî zêde ya hesabkirî zêde bike:
= CONCATENATE("Maximum value between 10 and 50 is ", GetMaxBetween(A1: A6,10,50))
Hûn dikarin encamê di dîmena jêrîn de bibînin:
Hûn dikare hejmara ku hem herî zêde ye û hem jî di navbera 10 heta 50 de ye bibîne.
Werin em formula din kontrol bikin:
= INDEX(A2:A9, MATCH(GetMaxBetween(B2:B9, F1, F2), B2:B9,0)), the
Fonksiyonek xwerû GetMaxBetween Rêjeya B2:B9 kontrol dike û hejmara herî zêde di navbera 10 û 50-an de dibîne. Dûv re, bi karanîna INDEX + MATCH, em navê hilberê ku bi vê nirxa herî zêde re têkildar e digirin:
Wekî ku hûn dibînin, karanîna fonksiyonên xwerû ji Excel-a birêkûpêk ne pir cûda yefonksîyonan.
Dema vê yekê dikin, ji bîr mekin ku fonksiyonek ji hêla bikarhêner ve hatî diyar kirin tenê dikare nirxek vegerîne, lê nikare kiryarên din pêk bîne. Zêdetir li ser sînorkirinên fonksiyonên diyarkirî yên bikarhêner bixwînin.
Bikaranîna UDF di prosedur û fonksiyonên VBA de
UDF dikarin di makroyên VBA de jî werin bikar anîn. Li jêr hûn dikarin koda makroyê ya ku li nirxa herî zêde di rêza ji 10 heya 50-an de digere di stûna ku şaneya çalak tê de digere.
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,50) = 10 Application.Match(maxcase, .Cells, 0) .Cells(i).Interior.Color = vbRed End With End SubKoda makro fonksiyona xwerû dihewîne
GetMaxBetween(.Cells, 10, 50)
Ew di stûna çalak de nirxa herî zêde dibîne. Wê hingê ev nirx dê were ronî kirin. Hûn dikarin encama makroyê di dîmena jêrîn de bibînin.
Fonksiyonek xwerû dikare di hundurê fonksiyonek xwerû ya din de jî were bikar anîn. Berê di bloga xwe de, me li pirsgirêka veguheztina jimarekê ji bo nivîsê bi karanîna fonksiyona xwerû ya bi navê Numbera rastnivîsê nihêrî.
Bi alîkariya wê, em dikarin nirxa herî zêde ji rêzê û tavilê bistînin. wê wekî nivîsê binivîsin.
Ji bo vê yekê, em ê fonksiyonek xwerû ya nû ava bikin ku tê de em ê fonksiyonan bikar bînin GetMaxBetween û SpellNumber ku jixwe ji me re nas in.
Fonksiyon SpellGetMaxBetween(rngCells Wek Range, MinNum, MaxNum) SpellGetMaxBetween = SpellNumber(GetMaxCBetween, Minr) FonksiyonWekî ku hûn dibînin, fonksiyona GetMaxBetween argumanek e ji bo fonksiyonek xwerû ya din, Numbera rastnivîsê . Ew nirxa herî zêde diyar dike, wekî ku me berê gelek caran kiriye. Dûv re ev hejmar vediguhere nivîsê.
Di dîmena jorîn de, hûn dikarin bibînin ka fonksiyona SpellGetMaxBetween çawa hejmara herî zêde di navbera 100 û 500 de dibîne û paşê wê vediguherîne nivîsê.
Gotina UDF-ê ji pirtûkên xebatê yên din
Eger we UDF di pirtûka xweya xebatê de çêkiribe, mixabin ev nayê wê wateyê ku hûn ê bi ti pirsgirêkê re rû bi rû nemînin.
Di ezmûna min de, pir bikarhêner zû an dereng berhevoka xwe ya kesane ya makro û fonksiyonên xwerû diafirînin da ku pêvajo û hesabên kesane otomatîk bikin. Û li vir pirsgirêk derdikeve holê - koda fonksiyonên diyarkirî yên bikarhêner di Visual Basic de pêdivî ye ku li cîhek were hilanîn da ku paşê di xebatê de were bikar anîn.
Ji bo sepandina fonksiyona xwerû, divê pirtûka xebatê ya ku we ew tomar kiriye vekirî be. di Excel xwe de. Ger ne wusa be, hûn ê #NAME bistînin! çewtî dema ku hewl didin ku wê bikar bînin. Ev xeletî nîşan dide ku Excel navê fonksiyona ku hûn dixwazin di formulê de bikar bînin nizane.
Werin em li awayên diku hûn dikarin fonksiyonên xwerû yên ku hûn diafirînin bi kar bînin.
Rêbaz 1. Navê pirtûka xebatê li fonksiyonê zêde bikin
Hûn dikarin navê pirtûka xebatê ya ku tê de ye berî navê pirtûkê diyar bikin. karî. Mînakî, heke we fonksiyonek xwerû GetMaxBetween() di pirtûkek xebatê ya bi navê My_Functions.xlsm de tomar kir, wê hingê divê hûn formula jêrîn têkevin:
= My_Functions.xlsm!GetMaxBetween(A1:A6,10,50)
Rêbaz 2. Hemî UDF-yan di pelek hevpar de hilîne
Hemû fonksiyonên xwerû di pirtûkek xebatê ya taybetî de hilîne (mînak, My_Functions.xlsm ) û fonksiyona xwestî jê kopî bike pirtûka xebatê ya heyî, heke pêwîst be.
Her gava ku hûn fonksiyonek xwerû ya nû diafirînin, divê hûn koda wê di pirtûka xebatê ya ku hûn ê tê de bikar bînin dubare bikin. Digel vê rêbazê, dibe ku çend nerehetî derkevin holê:
- Heke gelek pelên xebatê hebin, û fonksiyon li her derê hewce be, wê hingê pêdivî ye ku kod di her pirtûkê de were kopî kirin.
- Bînin bîra xwe ku hûn pirtûka xebatê bi formatek makro-çalakkirî (.xlsm an .xlsb) hilînin.
- Dema dosyayek weha vekin, parastina li hember makroyan dê her carê hişyariyek nîşan bide, ku divê were pejirandin. Pir bikarhêner dema ku hişyariyek barek zer dibînin ku ji wan dipirse ku makroyan çalak bikin ditirsin. Ji bo ku hûn vê peyamê nebînin, hûn hewce ne ku parastina Excel bi tevahî neçalak bikin. Lêbelê, dibe ku ev her gav ne rast û ewle be.
Ez difikirim ku hûn ê bi min re bipejirînin ku her dem vekirina apelê û kopîkirina koda fonksiyonên diyarkirî ji hêla bikarhêner ve an jî nivîsandina navê vê pelê di formula de ne çareseriya çêtirîn e. Bi vî awayî, em hatin riya sêyemîn.
Rêbaza 3. Pelê pêvekek Excel çêbikin
Ez difikirim ku awayê çêtirîn ew e ku meriv fonksiyonên xwerû yên ku pir caran têne bikar anîn di pelek pêvekek Excel de hilîne. . Awantajên bikaranîna pêvekê:
- Divê hûn tenê carekê pêvekê bi Excel ve girêdin. Piştî wê, hûn dikarin prosedur û fonksiyonên wê di her pelê li ser vê komputerê de bikar bînin. Hûn ne hewce ne ku pirtûkên xwe yên xebatê di formatên .xlsm û .xlsb de hilînin ji ber ku koda çavkaniyê dê ne di wan de, lê di pelê pêvekê de were hilanîn.
- Hûn ê êdî ji parastina makroyan aciz nebin wekî pêvek her dem çavkanîyên pêbawer vedigerin.
- Zêvek pelek cuda ye. Veguhastina wê ji komputerê bo kompîturê hêsan e, ku bi hevkarên xwe re parve bike.
Em ê paşê bêtir li ser afirandin û karanîna pêvekek biaxivin.
Bikaranîna pêvek- ins ji bo hilanîna fonksiyonên xwerû
Ez çawa pêveka xwe biafirînim? Ka em vê pêvajoyê gav bi gav bimeşin.
Gavek 1. Pelê pêvekê biafirînin
Microsoft Excel vekin, pirtûkek xebatê ya nû biafirînin û wê di bin her navekî guncan de hilînin (mînak, My_Functions) di forma pêvekê de. Ji bo vê yekê, menuya Pel - Save As an bişkojka F12 bikar bînin. Bawer bikin ku cureyê pelê diyar bikin Excel Add-in :
Pêveka we dê dirêjkirina .xlam hebe.
Bexşîş. Ji kerema xwe not bikin kubi xweber Excel pêvekan di peldanka C:\Bikarhêner\[Navê_Te]\AppData\Roaming\Microsoft\AddIns de hilîne. Ez pêşniyar dikim ku hûn cîhê xwerû qebûl bikin. Heke hûn bixwazin, hûn dikarin peldankek din diyar bikin. Lê dûv re, dema ku pêvekê girêdide, hûn ê hewce bikin ku cîhê wê yê nû bi destan bibînin û diyar bikin. Ger hûn wê di peldanka xwerû de hilînin, ne hewce ye ku hûn li pêvekê li ser komputera xwe bigerin. Excel dê bixweber navnîşê bike.
Gavê 2. Pelê pêvekê girêdin
Niha pêveka ku me çêkiriye divê bi Excel ve were girêdan. Dûv re gava bername dest pê dike dê bixweber were barkirin. Ji bo vê yekê, menuya Pel - Vebijêrk - Pêvek bikar bînin. Piştrast bike ku Excel Add-Ins di qada Birêvebirin de hatî hilbijartin. Bişkojka Go li binê pencereyê bikirtînin. Di pencereya ku xuya dike de, pêveka me ya My_Functions nîşan bikin. Heke hûn wê di lîsteyê de nabînin, bişkoka Browse bikirtînin û li cîhê pelê pêvekê bigerin.
Heke hûn ji bo hilanîna fonksiyonên xwerû pêvekek bikar tînin, qaîdeyek hêsan heye ku meriv bişopîne. Ger hûn pirtûka xebatê veguhezînin kesek din, pê ewle bin ku hûn kopiyek pêveka ku fonksiyona ku hûn dixwazin tê de jî veguhezînin. Divê ew wê bi heman awayê ku we aniha girêdin.
Gavê 3. Kar û makroyên xwerû li pêvekê zêde bikin
Pêveka me bi Excel ve girêdayî ye, lê na tu fonksiyonek tunehîn. Ji bo ku UDF-yên nû li wê zêde bikin, bi tikandina Alt + F11 Edîtorê Visual Basic vekin. Dûv re hûn dikarin modulên nû bi koda VBA-yê lê zêde bikin wekî ku di dersa min a Create UDFs de hatî diyar kirin.
Pelê pêvekê ( My_Finctions.xlam ) li pencereya VBAProject. Pêşeka Insert - Module bikar bînin da ku modulek xwerû lê zêde bikin. Pêdivî ye ku hûn fonksiyonên xwerû tê de binivîsin.
Hûn dikarin koda fonksiyonek diyarkirî ya bikarhêner bi destan binivîsin an jî ji deverekê kopî bikin.
Tiştek ev e. Naha we pêveka xwe çêkir, wê li Excel zêde kir û hûn dikarin UDF-ê tê de bikar bînin. Heke hûn dixwazin bêtir UDF-an bikar bînin, tenê kodê di modula pêvekê de di edîtorê VBA-yê de binivîsin û hilînin.
Ev ji bo îro ye. Em fêr bûne ka meriv çawa fonksiyonên diyarkirî yên bikarhêner di pirtûka xebata xwe de bikar tîne. Em bi rastî hêvî dikin ku hûn van rêbernameyên kêrhatî bibînin. Ger pirsên we hebin, di şîroveyên vê gotarê de binivîsin.