Nósanna Imeachta “Feidhm” agus “Fo” i VBA

Feidhmeanna VBA Insuite

Sula dtosaíonn tú ag cruthú do chuid feidhmeanna VBA féin, is maith go mbeadh a fhios agat go bhfuil bailiúchán saibhir de fheidhmeanna réamhthógtha réamhthógtha ag Excel VBA ar féidir leat a úsáid agus do chód á scríobh.

Is féidir liosta de na feidhmeanna seo a fheiceáil san eagarthóir VBA:

  • Oscail leabhar oibre Excel agus seoladh an t-eagarthóir VBA (cliceáil chun é seo a dhéanamh Alt + F11), agus ansin brúigh F2.
  • Roghnaigh leabharlann ón liosta anuas ag barr an scáileáin ar chlé VBA.
  • Beidh liosta de ranganna agus feidhmeanna VBA ionsuite le feiceáil. Cliceáil ar ainm na feidhme chun a cur síos gairid a thaispeáint ag bun na fuinneoige. brú F1 an leathanach cabhrach ar líne a oscailt don ghné sin.

Ina theannta sin, is féidir liosta iomlán d'fheidhmeanna VBA ionsuite le samplaí a fháil ag an Ionad Forbróirí Visual Basic.

Nósanna imeachta saincheaptha “Feidhm” agus “Fo” i VBA

In Excel Visual Basic, cuirtear sraith orduithe a chomhlíonann tasc ar leith i nós imeachta. Feidhm (Feidhm) nó Fo (Fo-ghnáthamh). An difríocht is mó idir na nósanna imeachta Feidhm и Fo is é sin an nós imeachta Feidhm tuairisceáin toradh, nós imeachta Fo - ní.

Dá bhrí sin, más gá duit gníomhartha a dhéanamh agus toradh éigin a fháil (mar shampla, suim roinnt uimhreacha), ansin is gnách go n-úsáidtear an nós imeachta Feidhm, agus d'fhonn roinnt gníomhartha a dhéanamh go simplí (mar shampla, formáidiú grúpa cealla a athrú), ní mór duit an nós imeachta a roghnú Fo.

Argóintí

Is féidir sonraí éagsúla a chur ar aghaidh chuig nósanna imeachta VBA trí úsáid a bhaint as argóintí. Sonraítear liosta na n-argóintí agus nós imeachta á dhearbhú. Mar shampla, an nós imeachta Fo i VBA cuireann sé an tslánuimhir tugtha (Slánuimhir) le gach cill sa raon roghnaithe. Is féidir leat an uimhir seo a chur ar aghaidh chuig an nós imeachta trí úsáid a bhaint as argóint, mar seo:

Fo AddToCells(i Mar Shlánuimhir) ... Críoch Fo

Coinnigh i gcuimhne go bhfuil argóintí ar son nósanna imeachta Feidhm и Fo i VBA atá roghnach. Ní éilíonn roinnt nósanna imeachta argóintí.

Argóintí Roghnacha

Is féidir argóintí roghnacha a bheith ag nósanna imeachta VBA. Is argóintí iad seo is féidir leis an úsáideoir a shonrú más mian leo, agus má fhágtar ar lár iad, úsáideann an nós imeachta na luachanna réamhshocraithe dóibh.

Ag filleadh ar an sampla roimhe seo, chun argóint slánuimhir a dhéanamh ar fheidhm roghnach, déarfaí é mar seo:

Fo AddToCells(Roghnach i Mar Shlánuimhir = 0)

Sa chás seo, an argóint slánuimhir i is é 0 an réamhshocrú.

Is féidir roinnt argóintí roghnacha a bheith i nós imeachta, agus tá gach ceann díobh liostaithe ag deireadh liosta na n-argóintí.

Argóintí a chur ar aghaidh trí luach agus trí thagairt

Is féidir argóintí i VBA a chur ar aghaidh chuig nós imeachta ar dhá bhealach:

  • ByVal – argóint de réir luacha a rith. Ciallaíonn sé seo nach gcuirtear ach an luach (is é sin, cóip den argóint) ar aghaidh chuig an nós imeachta, agus dá bhrí sin caillfear aon athruithe a dhéanfar ar an argóint taobh istigh den nós imeachta nuair a scoireann an nós imeachta.
  • ByRef – argóint a rith trí thagairt. Is é sin, cuirtear seoladh iarbhír shuíomh na hargóintí ar aghaidh chuig an nós imeachta. Déanfar aon athruithe a dhéantar ar argóint taobh istigh den nós imeachta a shábháil nuair a scoirfidh an nós imeachta.

Ag baint úsáide as eochairfhocail ByVal or ByRef sa dearbhú nós imeachta, is féidir leat a shonrú conas a chuirtear an argóint ar aghaidh chuig an nós imeachta. Léirítear é seo i samplaí thíos:

Fo AddToCells(ByVal i Mar Shlánuimhir) ... Críoch Fo
Sa chás seo, an argóint slánuimhir i a rith ag luach. Tar éis an nós imeachta a fhágáil Fo go léir déanta le i caillfear athruithe.
Fo AddToCells(ByRef i Mar Shlánuimhir) ... Críoch Fo
Sa chás seo, an argóint slánuimhir i ritheadh ​​trí thagairt. Tar éis an nós imeachta a fhágáil Fo go léir déanta le i déanfar na hathruithe a stóráil san athróg a cuireadh ar aghaidh chuig an nós imeachta Fo.

Cuimhnigh go ndéantar argóintí i VBA a rith trí thagairt de réir réamhshocraithe. I bhfocail eile, mura n-úsáidtear eochairfhocail ByVal or ByRef, ansin déanfar an argóint a rith trí thagairt.

Sula dtéann tú ar aghaidh leis na nósanna imeachta Feidhm и Fo níos mine, beidh sé úsáideach breathnú eile ar na gnéithe agus na difríochtaí idir an dá chineál nósanna imeachta seo. Seo a leanas plé gairid ar nósanna imeachta VBA Feidhm и Fo agus léirítear samplaí simplí.

Nós imeachta VBA «Feidhm»

Aithníonn eagarthóir VBA an nós imeachta Feidhmnuair a thagann sé ar ghrúpa orduithe atá iniata idir na ráitis tosaigh agus na ráitis deiridh seo a leanas:

Feidhm ... Deireadh Feidhm

Mar a luadh níos luaithe, an nós imeachta Feidhm i VBA (seachas Fo) luach a thabhairt ar ais. Baineann na rialacha seo a leanas le luachanna aischuir:

  • Ní mór cineál sonraí an luach aischuir a dhearbhú i gceannteideal an nós imeachta Feidhm.
  • Ní mór an athróg ina bhfuil an luach tuairisceáin a ainmniú mar an gcéanna leis an nós imeachta Feidhm. Ní gá an t-athróg seo a dhearbhú go leithleach, toisc go mbíonn sé ann i gcónaí mar chuid dhílis den nós imeachta. Feidhm.

Tá sé seo léirithe go maith sa sampla seo a leanas.

Sampla Feidhme VBA: Oibríocht Mhatamaiticiúil a dhéanamh ar 3 Uimhir

Seo a leanas sampla de chód nós imeachta VBA Feidhm, a thógann trí argóint de chineál dúbailte (uimhreacha snámhphointe débheachtais). Mar thoradh air sin, cuireann an nós imeachta uimhir eile de chineál ar ais dúbailtecomhionann le suim an chéad dá argóint lúide an tríú argóint:

Feidhm SumMinus(dNum1 Mar Dhúbailte, dNum2 Mar Dhúbailte, dNum3 Mar Dhúbailte) Mar Dhúbailte SumMinus = dNum1 + dNum2 - dNum3 Feidhm Deiridh

An nós imeachta VBA an-simplí seo Feidhm léiríonn sé conas a chuirtear sonraí ar aghaidh chuig nós imeachta trí argóintí. Is féidir leat a fheiceáil go bhfuil an cineál sonraí a cuireadh ar ais ag an nós imeachta sainmhínithe mar dúbailte (deir na focail Mar Dúbailte tar éis liosta na n-argóintí). Léiríonn an sampla seo freisin conas mar thoradh ar an nós imeachta Feidhm stóráilte in athróg leis an ainm céanna leis an ainm nós imeachta.

Ag glaoch ar nós imeachta VBA “Feidhm”

Má tá an nós imeachta thuas simplí Feidhm curtha isteach i modúl san eagarthóir Visual Basic, is féidir é a ghlaoch ó nósanna imeachta VBA eile nó a úsáid ar bhileog oibre i leabhar oibre Excel.

Glaoigh ar nós imeachta VBA “Feidhm” ó nós imeachta eile

Nós imeachta Feidhm Is féidir glaoch ó nós imeachta VBA eile ach an nós imeachta sin a shannadh d'athróg. Léiríonn an sampla seo a leanas glao chuig nós imeachta Summinus, a sainmhíníodh thuas.

Fo-phríomh() Iomlán caol mar Iomlán dúbailte = SumMinus(5, 4, 3) Críoch Fo

Glaoigh ar nós imeachta VBA “Feidhm” ó bhileog oibre

Nós imeachta VBA Feidhm a ghlaoch ó bhileog oibre Excel ar an mbealach céanna le haon fheidhm Excel ionsuite eile. Dá bhrí sin, an nós imeachta a cruthaíodh sa sampla roimhe seo Feidhm - Summinus is féidir glaoch air tríd an slonn seo a leanas a chur isteach i gcill bileog oibre:

=SumMinus(10, 5, 2)

Nós imeachta VBA «Fo»

Tuigeann eagarthóir VBA go bhfuil nós imeachta os comhair Fonuair a thagann sé ar ghrúpa orduithe atá iniata idir na ráitis tosaigh agus na ráitis deiridh seo a leanas:

Fo... Deireadh Fo

Nós imeachta VBA “Fo”: Sampla 1. Ailíniú lár agus athrú clómhéid i raon roghnaithe cealla

Smaoinigh ar shampla de nós imeachta simplí VBA Fo, arb é an tasc atá aige ná formáidiú raon roghnaithe na gcealla a athrú. Tá na cealla lárnaithe (go hingearach agus go cothrománach) agus athraítear an clómhéid go dtí an méid atá sonraithe ag an úsáideoir:

Fo Formáid_Centered_And_Sized(Roghnach iFontSize Mar Shlánuimhir = 10) Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Selection.Font.Size = iFontSize Deireadh Fo

An nós imeachta seo Fo déanann sé gníomhartha ach ní thugann sé toradh ar ais.

Úsáideann an sampla seo argóint Roghnach freisin Méid cló. Má tá an argóint Méid cló nár cuireadh ar aghaidh chuig an nós imeachta Fo, ansin is é a luach réamhshocraithe 10. Mar sin féin, má tá an argóint Méid cló ar aghaidh chuig nós imeachta Fo, ansin socrófar an raon cealla roghnaithe go dtí an clómhéid a shonraigh an t-úsáideoir.

Fo-nós Imeachta VBA: Sampla 2: Ailíniú Lárnach agus Cló Trom i Raon Roghnaithe Cealla

Tá an nós imeachta seo a leanas cosúil leis an gceann a pléadh díreach, ach an uair seo, in ionad an méid a athrú, cuireann sé cló trom i bhfeidhm ar an raon cealla roghnaithe. Is nós imeachta samplach é seo Fo, nach ndéanann argóint ar bith:

Fo Formáid_Centered_And_Bold() Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Selection.Font.Bold = Foirceann Fíor

Ag glaoch ar Nós Imeachta “Fo” in Excel VBA

Glaoigh ar nós imeachta VBA “Fo” ó nós imeachta eile

Nós imeachta VBA a ghlaoch Fo ó nós imeachta VBA eile, ní mór duit an eochairfhocal a scríobh Cuir glaoch ar, ainm nós imeachta Fo agus níos faide i lúibíní tá argóintí an nós imeachta. Léirítear é seo sa sampla thíos:

Fo-phríomh() Glaonna Formáid_Centered_And_Sized(20) Críoch Fo

Má tá an nós imeachta Formáid_Láraithe_And_Sized tá níos mó ná argóint amháin acu, caithfidh siad a bheith scartha le camóga. Mar seo:

Fo-phríomh() Glaonna Formáid_Centered_And_Sized(arg1, arg2, ...) Críoch Fo

Glaoigh ar nós imeachta VBA “Fo” ón mbileog oibre

Nós imeachta Fo ní féidir é a iontráil go díreach i gcill leatháin Excel, mar is féidir a dhéanamh le nós imeachta Feidhmmar gheall ar an nós imeachta Fo ní thugann sé luach ar ais. Mar sin féin, nósanna imeachta Fo, nach bhfuil aon argóintí acu agus a dhearbhaítear mar Poiblí (mar a thaispeántar thíos) ar fáil d’úsáideoirí na bileoige oibre. Dá bhrí sin, má tá na nósanna imeachta simplí a pléadh thuas Fo a cuireadh isteach i modúl san Eagarthóir Visual Basic, an nós imeachta Formáid_Cláraithe_Agus_Trom ar fáil le húsáid i mbileog oibre Excel, agus an nós imeachta Formáid_Láraithe_And_Sized – ní bheidh sé ar fáil toisc go bhfuil argóintí ann.

Seo bealach éasca le nós imeachta a rith (nó a fhorghníomhú). Fo, inrochtana ón mbileog oibre:

  • Preas Alt + F8 (brúigh eochair Eile agus cé go bhfuil sé síos, brúigh an eochair F8).
  • I liosta na macraí atá le feiceáil, roghnaigh an ceann is mian leat a rith.
  • Preas Rith (rith)

Chun nós imeachta a dhéanamh Fo tapa agus go héasca, is féidir leat aicearra méarchláir a shannadh dó. Dó seo:

  • Preas Alt + F8.
  • I liosta na macraí atá le feiceáil, roghnaigh an ceann ar mhaith leat aicearra méarchláir a shannadh dó.
  • Preas paraiméadair (Roghanna) agus sa bhosca dialóige gur dealraitheach, cuir isteach an aicearra méarchláir.
  • Preas OK agus dún an dialóg Macra (Macra).

Attention: Agus aicearra méarchláir á shannadh do mhacra, déan cinnte nach n-úsáidtear é mar chaighdeán in Excel (mar shampla, Ctrl + C). Má roghnaíonn tú aicearra méarchláir atá ann cheana féin, déanfar é a athshannadh chuig an macra, agus mar thoradh air sin, féadfaidh an t-úsáideoir an macra a thosú trí thimpiste.

Scóip Nós Imeachta VBA

Phléigh Cuid 2 den rang teagaisc seo scóip na n-athróg agus na dtriallach agus ról na n-eochairfhocail. Poiblí и Príobháideacha. Is féidir na heochairfhocail seo a úsáid freisin le nósanna imeachta VBA:

Fo-AddToCells(i Mar Shlánuimhir) ... Críoch Fo
Má tá an eochairfhocal roimh an dearbhú nós imeachta Poiblí, ansin beidh an nós imeachta ar fáil do gach modúl sa tionscadal VBA sin.
Fo-Phríobháideach AddToCells(i Mar Shlánuimhir) ... Críoch Fo
Má tá an eochairfhocal roimh an dearbhú nós imeachta Príobháideacha, ansin ní bheidh an nós imeachta seo ar fáil ach amháin don mhodúl reatha. Ní féidir glaoch air agus é in aon mhodúl eile nó ó leabhar oibre Excel.

Cuimhnigh go más rud é roimh dhearbhú nós imeachta VBA Feidhm or Fo ní chuirtear eochairfhocal isteach, socraítear an mhaoin réamhshocraithe don nós imeachta Poiblí (is é sin, beidh sé ar fáil i ngach áit sa tionscadal VBA seo). Tá sé seo i gcodarsnacht le dearbhuithe athraitheacha, atá de réir réamhshocraithe Príobháideacha.

Imeacht luath ó nósanna imeachta VBA “Feidhm” agus “Fo”

Más gá duit deireadh a chur le forghníomhú nós imeachta VBA Feidhm or Fo, gan fanacht lena chríoch nádúrtha, ansin le haghaidh seo tá oibreoirí Feidhm Scoir и Fo-Scoir. Tá úsáid na n-oibreoirí seo léirithe thíos ag baint úsáide as nós imeachta simplí mar shampla. FeidhmA atá ag súil le argóint dhearfach a fháil chun oibríochtaí breise a dhéanamh. Má chuirtear luach neamhdhearfach ar aghaidh chuig an nós imeachta, ní féidir aon oibríochtaí breise a dhéanamh, mar sin ba cheart teachtaireacht earráide a thaispeáint don úsáideoir agus ba cheart go scoirfeadh an nós imeachta láithreach:

Feidhm VAT_Amount(sVAT_Rate As Single) Mar Singil VAT_Amount = 0 Má sVAT_Rate <= 0 Ansin MsgBox "Bhíothas ag súil le luach dearfach sVAT_Rate ach Faighte" & sVAT_Rate Scoir Feidhm Feidhme Más ... Deireadh Feidhm

Tabhair faoi deara le do thoil roimh chríochnú an nós imeachta Feidhm - CBL_Méid, cuirtear feidhm VBA tógtha isteach sa chód Bosca Msg, a thaispeánann preabfhuinneog rabhaidh don úsáideoir.

Leave a Reply