Vairāk
Kā deklarēt globālo mainīgo VBA?
Es uzrakstīju šādu kodu:
Function find_results_idle()
Public iRaw As Integer
Public iColumn As Integer
iRaw = 1
iColumn = 1
Un es saņemu kļūdas ziņojumu:
" Nederīgs atribūts Sub vai funkcijā"
Vai jūs zināt, ko es darīju nepareizi?
Es mēģināju Public
vietā izmantot Global
, bet man radās tā pati problēma.
Es mēģināju deklarēt pašu funkciju kā Public
, bet arī tas neko nedeva.
Kas man jādara, lai izveidotu globālo mainīgo?
127
3
Mainīgie ir jādeklarē ārpus funkcijas:
Šis ir jautājums par scope.
Ja vēlaties, lai mainīgie lielumi būtu spēkā tikai funkcijas darbības laikā, mainīgo lielumu deklarēšanai funkcijas vai apakšfunkcijas iekšienē izmantojiet
Dim
(saīsinājums no Dimension):globāls mainīgais (kā norādīja SLaks) tiek deklarēts ārpus funkcijas, izmantojot atslēgas vārdu
Public
. Šis mainīgais būs pieejams visā lietojumprogrammas darbības laikā. Excel gadījumā tas nozīmē, ka mainīgie būs pieejami, kamēr būs atvērta konkrētā Excel darbgrāmata.Var būt arī mainīgie, kas ir pieejami tikai konkrētā moduļa (vai klases) ietvaros, deklarējot tos ar atslēgas vārdu
Private
.Ja veidojat lielu lietojumprogrammu un jūtat nepieciešamību izmantot globālos mainīgos, es ieteiktu izveidot atsevišķu moduli tikai globālajiem mainīgajiem. Tas palīdzēs jums saglabāt to uzskaiti vienuviet.
Lai izmantotu globālos mainīgos, VBA projekta lietotāja saskarnē ievietojiet jaunu moduli un deklarējiet mainīgos, izmantojot
Global
.