VBA-യിലെ വേരിയബിളുകളും സ്ഥിരാങ്കങ്ങളും

മറ്റേതൊരു പ്രോഗ്രാമിംഗ് ഭാഷയിലെയും പോലെ VBA-യിലും, ഏതെങ്കിലും മൂല്യങ്ങൾ സംഭരിക്കുന്നതിന് വേരിയബിളുകളും സ്ഥിരാങ്കങ്ങളും ഉപയോഗിക്കുന്നു. പേര് സൂചിപ്പിക്കുന്നത് പോലെ, വേരിയബിളുകൾ മാറാം, അതേസമയം സ്ഥിരമായ മൂല്യങ്ങൾ സംഭരിക്കുന്നു.

ഉദാഹരണത്തിന്, ഒരു സ്ഥിരാങ്കം Pi 3,14159265 മൂല്യം സംഭരിക്കുന്നു... പ്രോഗ്രാമിന്റെ നിർവ്വഹണ സമയത്ത് "പൈ" എന്ന സംഖ്യ മാറില്ല, എന്നാൽ അത്തരമൊരു മൂല്യം സ്ഥിരമായി സൂക്ഷിക്കുന്നത് ഇപ്പോഴും കൂടുതൽ സൗകര്യപ്രദമാണ്.

അതേ സമയം, നമുക്ക് വേരിയബിൾ ഉപയോഗിക്കാം sVAT_റേറ്റ് വാങ്ങിയ സാധനങ്ങളുടെ വാറ്റ് നിരക്ക് സംഭരിക്കുന്നതിന്. വേരിയബിൾ മൂല്യം sVAT_റേറ്റ് വാങ്ങിയ ഉൽപ്പന്നത്തെ ആശ്രയിച്ച് വ്യത്യാസപ്പെടാം.

ഡാറ്റ തരങ്ങൾ

എല്ലാ വേരിയബിളുകളും സ്ഥിരാങ്കങ്ങളും ഒരു പ്രത്യേക ഡാറ്റാ തരത്തിലാണ്. ചുവടെയുള്ള പട്ടികയിൽ VBA-യിൽ ഉപയോഗിക്കുന്ന ഡാറ്റ തരങ്ങൾ ഒരു വിവരണവും സാധ്യമായ മൂല്യങ്ങളുടെ ശ്രേണിയും നൽകുന്നു:

ഡാറ്റ തരം വലുപ്പംവിവരണംമൂല്യങ്ങളുടെ ശ്രേണി
ബൈറ്റ്1 ബൈറ്റുകൾപോസിറ്റീവ് പൂർണ്ണസംഖ്യകൾ; പലപ്പോഴും ബൈനറി ഡാറ്റയ്ക്കായി ഉപയോഗിക്കുന്നു0 നിന്ന് 255 ലേക്ക്
ബൂളിയൻ2 ബൈറ്റുകൾശരിയോ തെറ്റോ ആകാംശരിയോ തെറ്റോ
പൂർണ്ണസംഖ്യ2 ബൈറ്റുകൾപൂർണ്ണ സംഖ്യകൾ (ഫ്രാക്ഷണൽ ഭാഗമില്ല)-32 മുതൽ +768 വരെ
നീളമുള്ള4 ബൈറ്റുകൾവലിയ പൂർണ്ണസംഖ്യകൾ (ഫ്രാക്ഷണൽ ഭാഗമില്ല)от -2 147 483 648 до +2 147 483 647
സിംഗിൾ4 ബൈറ്റുകൾഒറ്റ പ്രിസിഷൻ ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പർ-3.4e38 മുതൽ +3.4e38 വരെ
ഇരട്ട8 ബൈറ്റുകൾഇരട്ട പ്രിസിഷൻ ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പർ-1.8e308 മുതൽ +1.8e308 വരെ
കറൻസി8 ബൈറ്റുകൾഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പർ, ഒരു നിശ്ചിത എണ്ണം ദശാംശ സ്ഥാനങ്ങൾот -922 337 203 685 477.5808 до +922 337 203 685 477.5807
തീയതി8 ബൈറ്റുകൾതീയതിയും സമയവും - തരം തീയതിയുടെ ഡാറ്റയെ ഒരു ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പർ പ്രതിനിധീകരിക്കുന്നു. ഈ സംഖ്യയുടെ പൂർണ്ണസംഖ്യ തീയതിയും ഫ്രാക്ഷണൽ ഭാഗം സമയവും പ്രകടിപ്പിക്കുന്നു.ജനുവരി 1, 100 മുതൽ ഡിസംബർ 31, 9999 വരെ
വസ്തു4 ബൈറ്റുകൾഒബ്ജക്റ്റ് റഫറൻസ്ഏതെങ്കിലും ഒബ്ജക്റ്റ് റഫറൻസ്
സ്ട്രിംഗ്മാറുകയാണ്പ്രതീക സെറ്റ്. സ്ട്രിംഗ് തരം ഫിക്സഡ് അല്ലെങ്കിൽ വേരിയബിൾ നീളം ആകാം. വേരിയബിൾ നീളം ഉപയോഗിച്ച് കൂടുതൽ സാധാരണയായി ഉപയോഗിക്കുന്നുനിശ്ചിത ദൈർഘ്യം - ഏകദേശം 65 പ്രതീകങ്ങൾ വരെ. വേരിയബിൾ ദൈർഘ്യം - ഏകദേശം 500 ബില്യൺ പ്രതീകങ്ങൾ വരെ
മാറ്റമുള്ളമാറുകയാണ്ഒരു തീയതി, ഒരു ഫ്ലോട്ട് അല്ലെങ്കിൽ ഒരു പ്രതീക സ്ട്രിംഗ് എന്നിവ അടങ്ങിയിരിക്കാം. ഏത് തരത്തിലുള്ള ഡാറ്റയാണ് നൽകേണ്ടതെന്ന് മുൻകൂട്ടി അറിയാത്ത സന്ദർഭങ്ങളിൽ ഈ തരം ഉപയോഗിക്കുന്നു.നമ്പർ - ഇരട്ട, സ്ട്രിംഗ് - സ്ട്രിംഗ്

വ്യക്തമായും, മുകളിലുള്ള പട്ടിക ഉപയോഗിക്കുകയും ശരിയായ ഡാറ്റ തരം തിരഞ്ഞെടുക്കുകയും ചെയ്താൽ, നിങ്ങൾക്ക് മെമ്മറി കൂടുതൽ സാമ്പത്തികമായി ഉപയോഗിക്കാം (ഉദാഹരണത്തിന്, ഡാറ്റ തരം തിരഞ്ഞെടുക്കുക പൂർണ്ണസംഖ്യ പകരം നീളമുള്ള or സിംഗിൾ പകരം ഇരട്ട). എന്നിരുന്നാലും, കൂടുതൽ കോം‌പാക്റ്റ് ഡാറ്റ തരങ്ങൾ ഉപയോഗിക്കുമ്പോൾ, നിങ്ങളുടെ കോഡ് ആനുപാതികമല്ലാത്ത വലിയ മൂല്യങ്ങൾ അവയിൽ ഉൾക്കൊള്ളിക്കാൻ ശ്രമിക്കാതിരിക്കാൻ നിങ്ങൾ ശ്രദ്ധിക്കേണ്ടതുണ്ട്.

വേരിയബിളുകളും സ്ഥിരാങ്കങ്ങളും പ്രഖ്യാപിക്കുന്നു

വിവർത്തകന്റെ കുറിപ്പ്: വിബിഎയിലെ വേരിയബിളുകളെക്കുറിച്ച് പറയുമ്പോൾ, വളരെ പ്രധാനപ്പെട്ട ഒരു കാര്യം കൂടി പരാമർശിക്കേണ്ടതാണ്. നമ്മൾ ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കുകയും അതിന് ഒരു മൂല്യവും നൽകുന്നില്ലെങ്കിൽ, അത് ഒരു ഡിഫോൾട്ട് മൂല്യം ഉപയോഗിച്ച് ആരംഭിക്കും:

• ടെക്സ്റ്റ് സ്ട്രിംഗുകൾ ശൂന്യമായ സ്ട്രിംഗുകൾ ഉപയോഗിച്ച് ആരംഭിക്കുന്നു;

• അക്കങ്ങൾ - മൂല്യം 0;

• തരം വേരിയബിളുകൾ ബൂളിയൻ - തെറ്റായ;

• തീയതികൾ – ഡിസംബർ 30, 1899.

ഒരു വേരിയബിൾ അല്ലെങ്കിൽ സ്ഥിരാങ്കം ഉപയോഗിക്കുന്നതിന് മുമ്പ്, അത് പ്രഖ്യാപിക്കണം. ഇത് ചെയ്യുന്നതിന്, മാക്രോയിലേക്ക് ഇനിപ്പറയുന്ന ലളിതമായ കോഡ് ചേർക്കുക:

Dim Имя_Переменной As Тип_Данных

കോഡിന്റെ മുകളിലെ വരിയിൽ വേരിയബിൾ_നാമം കോഡിൽ ഉപയോഗിക്കുന്ന വേരിയബിളിന്റെ പേരാണ്, കൂടാതെ ഡാറ്റ_തരം ഈ ലേഖനത്തിൽ കുറച്ച് മുമ്പ് നൽകിയ പട്ടികയിൽ നിന്നുള്ള ഡാറ്റ തരങ്ങളിൽ ഒന്നാണ്. ഉദാഹരണത്തിന്:

മങ്ങിയ sVAT_റേറ്റ് സിംഗിൾ ഡിം ആയി പൂർണ്ണസംഖ്യയായി

സ്ഥിരാങ്കങ്ങൾ സമാനമായി പ്രഖ്യാപിക്കപ്പെടുന്നു, എന്നാൽ സ്ഥിരാങ്കങ്ങൾ പ്രഖ്യാപിക്കുമ്പോൾ, അവയുടെ മൂല്യം ഉടനടി സൂചിപ്പിക്കണം. ഉദാഹരണത്തിന്, ഇതുപോലെ:

കോൺസ്റ്റ് iMaxCount = 5000 കോൺസ്റ്റ് iMaxScore = 100

Excel-ൽ വേരിയബിളുകൾ പ്രഖ്യാപിക്കേണ്ട ആവശ്യമില്ല. സ്ഥിരസ്ഥിതിയായി, Excel-ൽ നൽകിയിട്ടുള്ളതും എന്നാൽ പ്രഖ്യാപിക്കാത്തതുമായ എല്ലാ വേരിയബിളുകൾക്കും തരം ഉണ്ടായിരിക്കും മാറ്റമുള്ള കൂടാതെ സംഖ്യാ മൂല്യവും വാചക മൂല്യവും സ്വീകരിക്കാൻ കഴിയും.

അതിനാൽ, പ്രോഗ്രാമർക്ക് എപ്പോൾ വേണമെങ്കിലും പുതിയ വേരിയബിൾ ഉപയോഗിക്കാം (അത് പ്രഖ്യാപിച്ചിട്ടില്ലെങ്കിലും), എക്സൽ അതിനെ ഒരു തരം വേരിയബിളായി കണക്കാക്കും. മാറ്റമുള്ള. എന്നിരുന്നാലും, ഇത് ചെയ്യാൻ പാടില്ലാത്തതിന് നിരവധി കാരണങ്ങളുണ്ട്:

  1. മെമ്മറി ഉപയോഗവും കമ്പ്യൂട്ടേഷണൽ വേഗതയും. ഡാറ്റ തരത്തിന്റെ സൂചനയുള്ള ഒരു വേരിയബിൾ നിങ്ങൾ പ്രഖ്യാപിക്കുന്നില്ലെങ്കിൽ, സ്ഥിരസ്ഥിതിയായി അത് തരത്തിലേക്ക് സജ്ജീകരിക്കും മാറ്റമുള്ള. ഈ ഡാറ്റ തരം മറ്റ് ഡാറ്റാ തരങ്ങളേക്കാൾ കൂടുതൽ മെമ്മറി ഉപയോഗിക്കുന്നു. ഓരോ വേരിയബിളിനും കുറച്ച് അധിക ബൈറ്റുകൾ അത്രയൊന്നും തോന്നുന്നില്ല, എന്നാൽ പ്രായോഗികമായി, പ്രോഗ്രാമുകൾക്ക് ആയിരക്കണക്കിന് വേരിയബിളുകൾ ഉണ്ടായിരിക്കാം (പ്രത്യേകിച്ച് അറേകളിൽ പ്രവർത്തിക്കുമ്പോൾ). അതിനാൽ, പോലുള്ള വേരിയബിളുകൾ ഉപയോഗിക്കുന്ന അധിക മെമ്മറി മാറ്റമുള്ള, തരം വേരിയബിളുകളുമായി താരതമ്യം ചെയ്യുമ്പോൾ പൂർണ്ണസംഖ്യ or സിംഗിൾ, ഗണ്യമായ തുക വരെ ചേർക്കാം. കൂടാതെ, തരം വേരിയബിളുകളുള്ള പ്രവർത്തനങ്ങൾ മാറ്റമുള്ള മറ്റ് തരത്തിലുള്ള വേരിയബിളുകളേക്കാൾ വളരെ സാവധാനത്തിൽ നടപ്പിലാക്കുന്നു, യഥാക്രമം, ഒരു അധിക ആയിരം വേരിയബിളുകൾ മാറ്റമുള്ള കണക്കുകൂട്ടലുകൾ ഗണ്യമായി കുറയ്ക്കാൻ കഴിയും.
  2. വേരിയബിൾ പേരുകളിലെ അക്ഷരത്തെറ്റുകൾ തടയൽ. എല്ലാ വേരിയബിളുകളും പ്രഖ്യാപിച്ചാൽ, VBA പ്രസ്താവന ഉപയോഗിക്കാം - ഓപ്ഷൻ സ്പഷ്ടം (ഞങ്ങൾ അതിനെക്കുറിച്ച് പിന്നീട് സംസാരിക്കും) എല്ലാ പ്രഖ്യാപിക്കാത്ത വേരിയബിളുകളും തിരിച്ചറിയുന്നതിനായി. തെറ്റായി എഴുതിയ വേരിയബിൾ നാമത്തിന്റെ ഫലമായി പ്രോഗ്രാമിൽ ഒരു പിശക് പ്രത്യക്ഷപ്പെടുന്നത് ഇത് ഇല്ലാതാക്കുന്നു. ഉദാഹരണത്തിന്, പേരുള്ള ഒരു വേരിയബിൾ ഉപയോഗിക്കുന്നു sVAT_റേറ്റ്, നിങ്ങൾക്ക് ഒരു അക്ഷരത്തെറ്റ് ഉണ്ടാക്കാം കൂടാതെ, ഈ വേരിയബിളിന് ഒരു മൂല്യം നൽകിക്കൊണ്ട്, എഴുതുക: "VATRate = 0,175". ഇനി മുതൽ വേരിയബിൾ ആയിരിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നു sVAT_റേറ്റ് മൂല്യം 0,175 അടങ്ങിയിരിക്കണം - എന്നാൽ തീർച്ചയായും അത് ഇല്ല. ഉപയോഗിച്ച എല്ലാ വേരിയബിളുകളുടെയും നിർബന്ധിത ഡിക്ലറേഷൻ മോഡ് പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, VBA കംപൈലർ ഉടൻ തന്നെ ഒരു പിശക് സൂചിപ്പിക്കും, കാരണം അത് വേരിയബിൾ കണ്ടെത്തില്ല. വാട്രേറ്റ് പ്രഖ്യാപിച്ചവരുടെ കൂട്ടത്തിൽ.
  3. ഒരു വേരിയബിളിന്റെ പ്രഖ്യാപിത തരവുമായി പൊരുത്തപ്പെടാത്ത മൂല്യങ്ങൾ ഹൈലൈറ്റ് ചെയ്യുന്നു. നിങ്ങൾ ഒരു പ്രത്യേക തരത്തിന്റെ ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കുകയും അതിന് മറ്റൊരു തരത്തിലുള്ള ഡാറ്റ നൽകുകയും ചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഒരു പിശക് ലഭിക്കും, അത് തിരുത്താതെ വിട്ടാൽ, പ്രോഗ്രാം ക്രാഷുചെയ്യാൻ ഇടയാക്കും. ഒറ്റനോട്ടത്തിൽ, വേരിയബിളുകൾ പ്രഖ്യാപിക്കാതിരിക്കാനുള്ള ഒരു നല്ല കാരണമായി ഇത് തോന്നിയേക്കാം, എന്നാൽ വാസ്തവത്തിൽ, വേരിയബിളുകളിലൊന്നിന് ലഭിക്കേണ്ട തെറ്റായ ഡാറ്റ ലഭിച്ചുവെന്നതിന് മുമ്പുള്ളതിനേക്കാൾ - വളരെ മികച്ചത്! അല്ലാത്തപക്ഷം, പ്രോഗ്രാം പ്രവർത്തിക്കുന്നത് തുടരുകയാണെങ്കിൽ, ഫലങ്ങൾ തെറ്റായതും അപ്രതീക്ഷിതവുമാകാം, കൂടാതെ പിശകുകളുടെ കാരണം കണ്ടെത്തുന്നത് വളരെ ബുദ്ധിമുട്ടായിരിക്കും. മാക്രോ "വിജയകരമായി" എക്സിക്യൂട്ട് ചെയ്യാനും സാധ്യതയുണ്ട്. തൽഫലമായി, പിശക് ശ്രദ്ധിക്കപ്പെടാതെ പോകുകയും തെറ്റായ ഡാറ്റ ഉപയോഗിച്ച് ജോലി തുടരുകയും ചെയ്യും!

ഇക്കാര്യത്തിൽ, ഒരു തെറ്റായ ഡാറ്റ തരം കണ്ടെത്തുകയും കോഡിലെ അത്തരം പിശകുകൾ എത്രയും വേഗം ശരിയാക്കുകയും ചെയ്യുന്നത് അഭികാമ്യമാണ്. ഈ കാരണങ്ങളാൽ, ഒരു VBA മാക്രോ എഴുതുമ്പോൾ എല്ലാ വേരിയബിളുകളും പ്രഖ്യാപിക്കാൻ ശുപാർശ ചെയ്യുന്നു.

ഓപ്ഷൻ സ്പഷ്ടം

ഓപ്പറേറ്റർ ഓപ്ഷൻ സ്പഷ്ടം VBA കോഡിൽ ഉപയോഗിക്കുന്ന എല്ലാ വേരിയബിളുകളും ഡിക്ലെയർ ചെയ്യപ്പെടുന്നതിന് കാരണമാകുന്നു, കൂടാതെ എല്ലാ പ്രഖ്യാപിക്കാത്ത വേരിയബിളുകളും കംപൈലേഷൻ സമയത്ത് (കോഡ് എക്സിക്യൂഷൻ ആരംഭിക്കുന്നതിന് മുമ്പ്) പിശകുകളായി ഫ്ലാഗ് ചെയ്യുന്നു. ഈ ഓപ്പറേറ്റർ പ്രയോഗിക്കുന്നത് ബുദ്ധിമുട്ടുള്ള കാര്യമല്ല - VBA ഫയലിന്റെ ഏറ്റവും മുകളിൽ ഈ വരി എഴുതുക:

Option Explicit

നിങ്ങൾക്ക് എല്ലായ്പ്പോഴും തിരുകാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ ഓപ്ഷൻ സ്പഷ്ടം സൃഷ്‌ടിച്ച ഓരോ പുതിയ VBA മൊഡ്യൂളിന്റെയും മുകളിൽ, ഇത് സ്വയമേവ ചെയ്യാനാകും. ഇത് ചെയ്യുന്നതിന്, നിങ്ങൾ ഓപ്ഷൻ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട് വേരിയബിൾ ഡിക്ലറേഷൻ ആവശ്യമാണ് VBA എഡിറ്റർ ക്രമീകരണങ്ങളിൽ.

ഇത് ഇതുപോലെയാണ് ചെയ്യുന്നത്:

  • വിഷ്വൽ ബേസിക് എഡിറ്റർ മെനുവിൽ നിന്ന്, ക്ലിക്ക് ചെയ്യുക ഉപകരണങ്ങൾ > ഓപ്ഷനുകൾ
  • ദൃശ്യമാകുന്ന ഡയലോഗിൽ, ടാബ് തുറക്കുക എഡിറ്റർ
  • ബോക്സ് ചെക്കുചെയ്യുക വേരിയബിൾ ഡിക്ലറേഷൻ ആവശ്യമാണ് അമർത്തുക OK

പ്രവർത്തനക്ഷമമാക്കുമ്പോൾ, സ്ട്രിംഗ് ഓപ്ഷൻ സ്പഷ്ടം സൃഷ്ടിച്ച ഓരോ പുതിയ മൊഡ്യൂളിന്റെയും തുടക്കത്തിൽ സ്വയമേവ ചേർക്കും.

വേരിയബിളുകളുടെയും സ്ഥിരാങ്കങ്ങളുടെയും വ്യാപ്തി

ഓരോ പ്രഖ്യാപിത വേരിയബിളിനും സ്ഥിരാങ്കത്തിനും അതിന്റേതായ പരിമിതമായ വ്യാപ്തിയുണ്ട്, അതായത്, ഈ വേരിയബിൾ നിലനിൽക്കുന്ന പ്രോഗ്രാമിന്റെ പരിമിതമായ ഭാഗം. വേരിയബിളിന്റെയോ സ്ഥിരാങ്കത്തിന്റെയോ പ്രഖ്യാപനം എവിടെയാണ് നടത്തിയത് എന്നതിനെ ആശ്രയിച്ചിരിക്കും വ്യാപ്തി. ഉദാഹരണത്തിന്, വേരിയബിൾ എടുക്കുക sVAT_റേറ്റ്, ഇത് ഫംഗ്ഷനിൽ ഉപയോഗിക്കുന്നു മൊത്തം ചെലവ്. വേരിയബിൾ സ്കോപ്പിംഗിനുള്ള രണ്ട് ഓപ്ഷനുകൾ ഇനിപ്പറയുന്ന പട്ടിക ചർച്ചചെയ്യുന്നു sVAT_റേറ്റ്മൊഡ്യൂളിൽ രണ്ട് വ്യത്യസ്ത സ്ഥാനങ്ങളിൽ പ്രഖ്യാപിച്ചു:

ഓപ്‌ഷൻ വ്യക്തമായ മങ്ങിയ sVAT_റേറ്റ് സിംഗിൾ ഫംഗ്‌ഷനായി Total_Cost() ഇരട്ടിയായി ... ഫംഗ്‌ഷൻ അവസാനിപ്പിക്കുക
വേരിയബിൾ ആണെങ്കിൽ sVAT_റേറ്റ് മൊഡ്യൂളിന്റെ തുടക്കത്തിൽ തന്നെ പ്രഖ്യാപിച്ചു, അപ്പോൾ ഈ വേരിയബിളിന്റെ വ്യാപ്തി മുഴുവൻ മൊഡ്യൂളും ആയിരിക്കും (അതായത് വേരിയബിൾ sVAT_റേറ്റ് ഈ മൊഡ്യൂളിലെ എല്ലാ നടപടിക്രമങ്ങളും തിരിച്ചറിയും).

അതിനാൽ, ചടങ്ങിലാണെങ്കിൽ മൊത്തം ചെലവ് വേരിയബിൾ sVAT_റേറ്റ് കുറച്ച് മൂല്യം നൽകും, തുടർന്ന് അതേ മൊഡ്യൂളിനുള്ളിൽ എക്സിക്യൂട്ട് ചെയ്യുന്ന അടുത്ത ഫംഗ്ഷൻ വേരിയബിൾ ഉപയോഗിക്കും sVAT_റേറ്റ് അതേ അർത്ഥത്തിൽ.

എന്നിരുന്നാലും, മറ്റൊരു മൊഡ്യൂളിൽ സ്ഥിതിചെയ്യുന്ന ചില ഫംഗ്‌ഷനെ വിളിക്കുന്നുവെങ്കിൽ, അതിനുള്ള വേരിയബിൾ sVAT_റേറ്റ് അറിയപ്പെടുകയില്ല.

ഓപ്‌ഷൻ വ്യക്തമായ ഫംഗ്‌ഷൻ Total_Cost() ഇരട്ടി മങ്ങിയ sVAT_റേറ്റ് സിംഗിൾ ആയി ... എൻഡ് ഫംഗ്‌ഷൻ
വേരിയബിൾ ആണെങ്കിൽ sVAT_റേറ്റ് ചടങ്ങിന്റെ തുടക്കത്തിൽ പ്രഖ്യാപിച്ചു മൊത്തം ചെലവ്, അപ്പോൾ അതിന്റെ വ്യാപ്തി ഈ ഫംഗ്ഷനിൽ മാത്രമായി പരിമിതപ്പെടുത്തും (അതായത് ഫംഗ്ഷനിൽ മൊത്തം ചെലവ്, നിങ്ങൾക്ക് വേരിയബിൾ ഉപയോഗിക്കാം sVAT_റേറ്റ്, പക്ഷേ പുറത്തല്ല).

ഉപയോഗിക്കാൻ ശ്രമിക്കുമ്പോൾ sVAT_റേറ്റ് മറ്റൊരു നടപടിക്രമത്തിൽ, VBA കംപൈലർ ഒരു പിശക് റിപ്പോർട്ട് ചെയ്യും, കാരണം ഈ വേരിയബിൾ ഫംഗ്ഷനു പുറത്ത് പ്രഖ്യാപിച്ചിട്ടില്ല മൊത്തം ചെലവ് (ഓപ്പറേറ്റർ ഉപയോഗിക്കുന്നുണ്ടെങ്കിൽ ഓപ്ഷൻ സ്പഷ്ടം).

മുകളിൽ കാണിച്ചിരിക്കുന്ന ഉദാഹരണത്തിൽ, കീവേഡ് ഉപയോഗിച്ച് മൊഡ്യൂൾ തലത്തിൽ വേരിയബിൾ പ്രഖ്യാപിച്ചു മങ്ങിയത്. എന്നിരുന്നാലും, മറ്റ് മൊഡ്യൂളുകളിൽ പ്രഖ്യാപിത വേരിയബിളുകൾ ഉപയോഗിക്കേണ്ടത് ആവശ്യമായി വന്നേക്കാം. അത്തരം സന്ദർഭങ്ങളിൽ, ഒരു കീവേഡിന് പകരം ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കാൻ മങ്ങിയത് കീവേഡ് ഉപയോഗിക്കണം പൊതു.

വഴിയിൽ, കീവേഡിന് പകരം മൊഡ്യൂൾ തലത്തിൽ ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കാൻ മങ്ങിയത് കീവേഡ് ഉപയോഗിക്കാം സ്വകാര്യ, ഈ വേരിയബിൾ നിലവിലെ മൊഡ്യൂളിൽ മാത്രം ഉപയോഗിക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണെന്ന് ഇത് സൂചിപ്പിക്കുന്നു.

സ്ഥിരാങ്കങ്ങൾ പ്രഖ്യാപിക്കാൻ നിങ്ങൾക്ക് കീവേഡുകൾ ഉപയോഗിക്കാം. പൊതു и സ്വകാര്യ, പക്ഷേ കീവേഡിന് പകരം അല്ല കോൺസ്റ്റ, അതോടൊപ്പം.

ഇനിപ്പറയുന്ന ഉദാഹരണങ്ങൾ കീവേഡുകളുടെ ഉപയോഗം കാണിക്കുന്നു പൊതു и സ്വകാര്യ വേരിയബിളുകളിലും സ്ഥിരാങ്കങ്ങളിലും പ്രയോഗിക്കുന്നു.

ഐമാക്സ്_കൗണ്ട് = 5000...    
ഈ ഉദാഹരണത്തിൽ, കീവേഡ് പൊതു ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കാൻ ഉപയോഗിക്കുന്നു sVAT_റേറ്റ് സ്ഥിരാങ്കങ്ങളും iMax_count. ഈ രീതിയിൽ പ്രഖ്യാപിച്ച മൂലകങ്ങളുടെ വ്യാപ്തി മുഴുവൻ നിലവിലെ പ്രോജക്റ്റും ആയിരിക്കും.

എന്ന് വച്ചാൽ അത് sVAT_റേറ്റ് и iMax_count ഏത് പ്രോജക്റ്റ് മൊഡ്യൂളിലും ലഭ്യമാകും.

ഓപ്‌ഷൻ വ്യക്തമായ സ്വകാര്യ sVAT_Rate ഒറ്റ സ്വകാര്യ കോൺസ്റ്റായി iMax_Count = 5000 ...    
ഈ ഉദാഹരണത്തിൽ, ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കാൻ sVAT_റേറ്റ് സ്ഥിരാങ്കങ്ങളും iMax_count കീവേഡ് ഉപയോഗിച്ചു സ്വകാര്യ. ഈ മൂലകങ്ങളുടെ വ്യാപ്തി നിലവിലെ മൊഡ്യൂളാണ്.

എന്ന് വച്ചാൽ അത് sVAT_റേറ്റ് и iMax_count നിലവിലെ മൊഡ്യൂളിലെ എല്ലാ നടപടിക്രമങ്ങളിലും ലഭ്യമാകും, എന്നാൽ മറ്റ് മൊഡ്യൂളുകളിലെ നടപടിക്രമങ്ങൾക്ക് ലഭ്യമാകില്ല.

നിങ്ങളുടെ അഭിപ്രായങ്ങൾ രേഖപ്പെടുത്തുക