tirotiro
- Nga Mahi VBA Hanga-i
- Nga tikanga ritenga "Mahi" me te "Sub" i roto i te VBA
- Nga tautohe
- Te tukanga VBA "Mahi"
- Te tukanga VBA "Sub"
- VBA Te Mahinga Mahi
- Te putanga moata mai i nga tikanga VBA "Mahi" me te "Sub"
Nga Mahi VBA Hanga-i
I mua i to tiimata ki te hanga i a koe ake mahi VBA, he pai ki te mohio kei a Excel VBA he kohinga nui o nga mahi hanga-mua ka taea e koe te whakamahi i te wa e tuhi ana i to waehere.
Ka taea te tiro i te rarangi o enei mahi i roto i te ētita VBA:
- Whakatuwheratia he pukamahi Excel ka whakarewahia te ētita VBA (paohia kia mahia tenei Alt + F11), ka peehi F2.
- Tīpakohia he whare pukapuka mai i te rarangi takaiho kei te taha maui o runga o te mata VBA.
- Ka puta mai he rarangi o nga karaehe me nga mahi VBA i hangaia. Patohia te ingoa mahi hei whakaatu i tana whakaahuatanga poto i raro o te matapihi. te pehi F1 ka whakatuwhera i te wharangi awhina ipurangi mo taua ahuatanga.
I tua atu, ka kitea he rarangi katoa o nga mahi VBA kua hangaia me nga tauira i te Visual Basic Developer Center.
Nga tikanga ritenga "Mahi" me te "Sub" i roto i te VBA
I roto i te Excel Visual Basic, ka whakatakotoria he huinga whakahau e mahi ana i tetahi mahi motuhake ki roto i tetahi tikanga. taumahi (Mahi) ranei Sub (Tuhinga iti). Ko te rereketanga nui i waenga i nga tikanga taumahi и Sub koia tena te tikanga taumahi whakahoki hua, tikanga Sub – kare.
Na, ki te hiahia koe ki te mahi i nga mahi me te whiwhi i etahi hua (hei tauira, whakahiatohia nga tau maha), ka whakamahia te tikanga taumahi, me te mahi noa i etahi mahi (hei tauira, whakarereke i te whakatakotoranga o te roopu o nga pūtau), me whiriwhiri koe i te tikanga Sub.
Nga tautohe
He maha nga raraunga ka taea te tuku ki nga tikanga VBA ma te whakamahi tautohetohe. Ka tohua te rarangi tautohe i te wa e whakapuaki ana i tetahi tikanga. Hei tauira, te tukanga Sub i roto i te VBA ka taapirihia te tauoti (Tauoti) ki ia pūtau i te awhe kua tohua. Ka taea e koe te tuku i tenei tau ki te tukanga ma te whakamahi i te tautohetohe, penei:
Sub AddToCells(i As Integer) ... Whakamutua Sub
Kia maumahara kei te whai tohenga mo nga tikanga taumahi и Sub i roto i te VBA he mea whiriwhiri. Ko etahi o nga tikanga kaore e hiahiatia he tautohetohe.
Tohenga Kōwhiringa
Ka taea e nga tukanga VBA te whai tautohetohe. He tohenga enei ka taea e te kaiwhakamahi te tohu mena e hiahia ana ratou, a ki te waihohia, ka whakamahia e te tikanga nga uara taunoa mo ratou.
Ka hoki ki te tauira o mua, ki te hanga i te tautohenga tauoti ki tetahi taumahi hei kowhiringa, ka penei te whakaatu:
Sub AddToCells(Kōwhiringa hei Tauoti = 0)
I tenei take, ko te tautohe tauoti i ka 0 te taunoa.
He maha nga tohenga whiriwhiri i roto i tetahi tikanga, kua whakarārangihia katoa ki te mutunga o te rarangi tohenga.
Te tuku tohenga ma te uara me te tohutoro
Ko nga tautohetohe i roto i te VBA ka taea te tuku ki tetahi tikanga ma nga huarahi e rua:
- ByVal – te tuku tohenga ma te uara. Ko te tikanga ko te uara anake (ara, he kape o te tohenga) ka tukuna ki te tikanga, na reira ka ngaro nga huringa ki te tautohe i roto i te tikanga ka puta te tikanga.
- NaRef – te tuku tohenga ma te tohutoro. Arā, ko te wāhitau tūturu o te wāhi tautohe i roto i te mahara ka tukuna ki te hātepe. Ko nga huringa ka mahia ki te tautohe i roto i te tikanga ka tiakina ina puta te tikanga.
Te whakamahi kupumatua ByVal or NaRef i roto i te whakapuakanga tikanga, ka taea e koe te tohu me pehea te tuku i te tautohe ki te tikanga. Ka whakaatuhia tenei i nga tauira i raro nei:
Sub AddToCells(ByVal i As Integer) ... Whakamutunga Sub | I tenei take, ko te tautohe tauoti i i paahitia e te uara. I muri i te wehe i te tukanga Sub hanga katoa ki i ka ngaro nga huringa. |
Sub AddToCells(ByRef i As Integer) ... Whakamutunga Sub | I tenei take, ko te tautohe tauoti i i paahitia e te tohutoro. I muri i te wehe i te tukanga Sub hanga katoa ki i ka penapena nga huringa ki te taurangi i tukuna ki te tikanga Sub. |
Kia maumahara ko nga tautohetohe i roto i te VBA ka tukuna ma te tohutoro ma te taunoa. I etahi atu kupu, ki te kore e whakamahia nga kupu matua ByVal or NaRef, katahi ka tukuna te tautohe ma te tohutoro.
I mua i te haere ki nga tikanga taumahi и Sub i roto i nga korero taipitopito, he pai ki te titiro ano ki nga ahuatanga me nga rereketanga o enei momo tikanga e rua. E whai ake nei nga korero poto mo nga tikanga VBA taumahi и Sub me nga tauira ngawari ka whakaatuhia.
Te tukanga VBA "Mahi"
Ka mohio te ētita VBA ki te tukanga taumahika tutaki ki tetahi roopu whakahau kei waenganui i nga korero whakatuwhera me te kati e whai ake nei:
Mahi ... Whakamutunga Mahi
Ka rite ki te korero i mua, ko te tukanga taumahi i roto i te VBA (he rereke ki te Sub) ka whakahokia he uara. Ko nga ture e whai ake nei ka pa ki te whakahoki i nga uara:
- Ko te momo raraunga o te uara whakahoki me whakaatu ki te pane o te tukanga taumahi.
- Ko te taurangi kei roto te uara whakahoki me whakaingoatia kia rite ki te tikanga taumahi. Ko tenei taurangi karekau e tika kia korero motuhake, na te mea kei te noho tonu hei waahanga o te tikanga. taumahi.
He pai te whakaatu o tenei i te tauira e whai ake nei.
He Tauira Mahi VBA: Te Mahi Matarau ki runga i nga Tau 3
E whai ake nei he tauira o te waehere tukanga VBA taumahi, e toru nga tohenga momo Double (tau-rua-tika-tika-tau-tau-ira-ira). Ko te mutunga mai, ka whakahokia e te tikanga tetahi atu momo momo Doublehe rite ki te tapeke o nga tohenga tuatahi e rua haunga te tohenga tuatoru:
Taumahi TapekeMinus(dNum1 Hei Ruarua, dNum2 Hei Ruarua, dNum3 Hei Ruarua) Hei Tapeke TauruaMinus = dNum1 + dNum2 - dNum3 Whakamutunga Taumahi
Ko tenei mahinga VBA tino ngawari taumahi he whakaatu pehea te tuku raraunga ki tetahi tikanga ma nga tautohetohe. Ka taea e koe te kite ko te momo raraunga i whakahokia mai e te tikanga kua tautuhia hei Double (e kii ana nga kupu Hei Ruarua i muri i te rarangi o nga tautohetohe). Ka whakaatu hoki tenei tauira i te hua o te mahi taumahi ka rongoa i roto i te taurangi he rite te ingoa ki te ingoa tikanga.
Te karanga i te tukanga VBA "Mahi"
Mena ko te tikanga ngawari o runga taumahi ka whakaurua ki roto i te kōwae i roto i te ētita Visual Basic, ka taea te karanga mai i etahi atu tikanga VBA ka whakamahia ranei ki runga pepa mahi i roto i te pukamahi Excel.
Karangatia te tikanga VBA "Mahi" mai i tetahi atu tikanga
hātepe taumahi ka taea te karanga mai i tetahi atu tikanga VBA ma te tuku noa i taua tikanga ki tetahi taurangi. Ko te tauira e whai ake nei e whakaatu ana i te karanga ki tetahi tikanga Summinus, i tautuhia i runga ake nei.
Sub main() Dim tape as Double tape = SumMinus(5, 4, 3) End Sub
Karangatia te tukanga VBA "Mahi" mai i te pepa mahi
Te tukanga VBA taumahi ka taea te karanga mai i te pepamahi Excel kia rite ki etahi atu mahinga Excel kua hangaia. Na reira, te tukanga i hanga i roto i te tauira o mua taumahi - Summinus Ka taea te karanga ma te whakauru i te korero e whai ake nei ki roto i te putau raumahi:
=SumMinus(10, 5, 2)
Te tukanga VBA "Sub"
Kei te mohio te ētita VBA he tikanga kei mua Subka tutaki ki tetahi roopu whakahau kei waenganui i nga korero whakatuwhera me te kati e whai ake nei:
Raro ... Whakamutunga Raro
Te tukanga VBA "Sub": Tauira 1. Te hurihanga o te pokapū me te huri i te rahi o te momotuhi i roto i te awhe o nga pūtau kua tohua
Whakaarohia he tauira o te mahinga VBA ngawari Sub, ko tana mahi he huri i te whakahōpututanga o te awhe pūtau kua tohua. Ko nga pūtau kei waenganui (poutū me te whakapae) ka huri te rahi momotuhi ki te kaiwhakamahi kua tohua:
Whakamutunga_Waenga_Me_Rahi(Kōwhiringa iFontSize Hei Integer = 10) Tīpakonga.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Selection.Font.Size = iFontSize Whakamutunga Sub
Tenei mahinga Sub ka mahi i nga mahi engari kaore e whakahoki mai he hua.
Ka whakamahi hoki tenei tauira i te tautohe Kōwhiringa Rahi Momotuhi. Mena te tautohe Rahi Momotuhi kaore i tukuna ki te tukanga Sub, ko tona uara taunoa ko te 10. Heoi, ki te te tautohe Rahi Momotuhi tukuna ki te tukanga Sub, ka tautuhia te awhe o nga pūtau kua tohua ki te rahi momotuhi kua tohua e te kaiwhakamahi.
Tikanga Roroiti VBA: Tauira 2: Tirohanga Pokapū me te Momotuhi Maamaa ki te Awhe o nga Waea kua tohua
Ko te tikanga e whai ake nei he rite ki tera i korerohia ake nei, engari i tenei wa, kaua e whakarereke i te rahi, ka hoatu he momo momotuhi maia ki te awhe o nga pūtau kua tohua. He tauira tikanga tenei Sub, karekau he tautohetohe:
Sub Format_Centered_And_Bold() Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Selection.Font.Bold = True End Sub
Te Waea "Tuhinga" i roto i te Excel VBA
Karangatia te tukanga VBA "Sub" mai i tetahi atu tikanga
Ki te karanga i te tikanga VBA Sub mai i tetahi atu tikanga VBA, me tuhi koe i te kupu matua Call, ingoa tukanga Sub a kei roto i nga reu nga tohenga o te tikanga. Ka whakaatuhia tenei ki te tauira i raro nei:
Sub main() Call Format_Centered_And_Sized(20) End Sub
Mena ko te tukanga Hōputu_Me_Rahi he nui ake i te kotahi tohenga, me wehe ki nga piko. Pēnei:
Sub main() Call Format_Centered_And_Sized(arg1, arg2, ...) End Sub
Karangatia te tukanga VBA "Sub" mai i te raumahi
hātepe Sub e kore e taea te kuhu tika ki roto i te pūtau rau Excel, ka taea te mahi me tetahi tikanga taumahino te mea ko te tikanga Sub e kore e whakahoki uara. Engari, ko nga tikanga Sub, karekau he tautohetohe, ka kiia hei Public (e whakaatu ana i raro nei) ka watea ki nga kaiwhakamahi o te raumahi. Na, ki te mea nga tikanga ngawari i korerohia i runga ake nei Sub ka whakauruhia ki roto i tetahi waahanga i roto i te Visual Basic Editor, te tikanga Hōputu_Me_Maia_Me_Maia ka watea mo te whakamahi i roto i te pepamahi Excel, me te tikanga Hōputu_Me_Rahi – kare e watea na te mea he tautohetohe.
Anei he huarahi ngawari ki te whakahaere (whakahaere ranei) i tetahi tikanga Sub, ka taea te uru mai i te raumahi:
- press Alt + F8 (Pēhi kī alt a, i te wa e pupuri ana, pehia te ki F8).
- I te rarangi tonotono ka puta, tohua te mea e hiahia ana koe ki te whakahaere.
- press Whakahaere (oma)
Hei mahi i tetahi tukanga Sub tere me te ngawari, ka taea e koe te tautapa he pokatata papapātuhi ki a ia. Mo tenei:
- press Alt + F8.
- I te rarangi tonotono ka puta, tohua te mea e hiahia ana koe ki te tautapa he pokatata papapātuhi.
- press tawhā (Kōwhiringa) ā, ki te pouaka kōrero ka puta, tāuruhia te pokatata papapātuhi.
- press OK ka kati i te korero Tonotono (Totono).
whakatūpato: Ina tautapahia he pokatata papapātuhi ki te tonotono, me whakarite kia kaua e whakamahia hei paerewa i Excel (hei tauira, Ctrl + C). Ki te kowhiria e koe he pokatata papapātuhi o mua, ka tautapahia ano ki te tonotono, na reira, ka tiimata te kaiwhakamahi i te tonotono ohorere.
VBA Te Mahinga Mahi
Ko te wahanga 2 o tenei akoranga i korero mo te whanuitanga o nga taurangi me nga taurite me te mahi o nga kupumatua. Public и Private. Ka taea hoki enei kupumatua te whakamahi me nga tikanga VBA:
Tumatanui AddToCells(i Hei Tauoti) ... Whakamutunga Sub | Mēnā ko te whakapuakanga hātepe i mua i te kupu matua Public, ka watea te tikanga ki nga waahanga katoa o taua kaupapa VBA. |
Sub AddToCells(i As Integer) ... Whakamutunga Sub | Mēnā ko te whakapuakanga hātepe i mua i te kupu matua Private, ka waatea noa tenei tikanga mo te waahanga o naianei. Kaore e taea te waea i a koe i roto i tetahi atu waahanga, mai i te pukamahi Excel ranei. |
Kia mahara ki te mea i mua i te whakapuakitanga o te tikanga VBA taumahi or Sub karekau te kupu matua i whakauruhia, kua whakaritea te taonga taunoa mo te tikanga Public (ara, ka watea ki nga waahi katoa o tenei kaupapa VBA). He rereke tenei ki nga whakapuakanga taurangi, he mea taunoa Private.
Te putanga moata mai i nga tikanga VBA "Mahi" me te "Sub"
Mena ka hiahia koe ki te whakamutu i te mahinga o te tikanga VBA taumahi or Sub, me te kore e tatari mo tona mutunga taiao, na mo tenei kei reira nga kaiwhakahaere Puta Mahi и Putaatu Sub. Ko te whakamahinga o enei kaiwhakahaere e whakaatuhia ana i raro nei ma te whakamahi i tetahi tikanga ngawari hei tauira. taumahiA e tumanako ana ka whiwhi tohenga pai hei mahi i etahi atu mahi. Mena ka tukuna he uara kore-pai ki te tikanga, katahi ka kore e taea te whakahaere i etahi atu mahi, na me whakaatu ki te kaiwhakamahi he karere hapa ka puta tonu te tikanga:
Taumahi VAT_Moun(sVAT_Rate as Single) as Single VAT_Mount = 0 Ki te sVAT_Rate <= 0 Na MsgBox "I tumanakohia he uara pai o te sVAT_Rate engari kua riro mai" & sVAT_Rate Putanga Mahi Whakamutu Ki te ... Mutu Mahi
Kia mahara mai i mua i te whakaoti i te tukanga taumahi - Taake_Motu, ka whakauruhia he mahinga VBA kua hangaia ki roto i te waehere Pirimia, e whakaatu ana i te pakūake whakatūpato ki te kaiwhakamahi.