VBA-യിലെ "ഫംഗ്ഷൻ", "സബ്" നടപടിക്രമങ്ങൾ

ഉള്ളടക്കം

അന്തർനിർമ്മിത VBA പ്രവർത്തനങ്ങൾ

നിങ്ങളുടേതായ VBA ഫംഗ്‌ഷനുകൾ സൃഷ്‌ടിക്കാൻ തുടങ്ങുന്നതിനുമുമ്പ്, നിങ്ങളുടെ കോഡ് എഴുതുമ്പോൾ ഉപയോഗിക്കാനാകുന്ന പ്രീ-ബിൽറ്റ് ബിൽറ്റ്-ഇൻ ഫംഗ്‌ഷനുകളുടെ സമ്പന്നമായ ശേഖരം Excel VBA-യിലുണ്ടെന്ന് അറിയുന്നത് നല്ലതാണ്.

ഈ പ്രവർത്തനങ്ങളുടെ ഒരു ലിസ്റ്റ് VBA എഡിറ്ററിൽ കാണാൻ കഴിയും:

  • ഒരു Excel വർക്ക്ബുക്ക് തുറന്ന് VBA എഡിറ്റർ സമാരംഭിക്കുക (ഇത് ചെയ്യാൻ ക്ലിക്ക് ചെയ്യുക Alt + F11), തുടർന്ന് അമർത്തുക F2.
  • സ്ക്രീനിന്റെ മുകളിൽ ഇടതുവശത്തുള്ള ഡ്രോപ്പ്ഡൗൺ ലിസ്റ്റിൽ നിന്ന് ഒരു ലൈബ്രറി തിരഞ്ഞെടുക്കുക വി.ബി.എ..
  • അന്തർനിർമ്മിത VBA ക്ലാസുകളുടെയും പ്രവർത്തനങ്ങളുടെയും ഒരു ലിസ്റ്റ് ദൃശ്യമാകും. വിൻഡോയുടെ ചുവടെ അതിന്റെ ഹ്രസ്വ വിവരണം പ്രദർശിപ്പിക്കുന്നതിന് ഫംഗ്ഷൻ നാമത്തിൽ ക്ലിക്കുചെയ്യുക. അമർത്തിയാൽ F1 ആ ഫീച്ചറിനായി ഓൺലൈൻ സഹായ പേജ് തുറക്കും.

കൂടാതെ, വിഷ്വൽ ബേസിക് ഡെവലപ്പർ സെന്ററിൽ ഉദാഹരണങ്ങളുള്ള ബിൽറ്റ്-ഇൻ VBA ഫംഗ്‌ഷനുകളുടെ പൂർണ്ണമായ ലിസ്റ്റ് കാണാം.

വിബിഎയിലെ ഇഷ്‌ടാനുസൃത നടപടിക്രമങ്ങൾ "ഫംഗ്ഷൻ", "സബ്"

Excel വിഷ്വൽ ബേസിക്കിൽ, ഒരു നിർദ്ദിഷ്ട ചുമതല നിർവഹിക്കുന്ന ഒരു കൂട്ടം കമാൻഡുകൾ ഒരു നടപടിക്രമത്തിൽ സ്ഥാപിച്ചിരിക്കുന്നു. ഫംഗ്ഷൻ (ഫംഗ്ഷൻ) അല്ലെങ്കിൽ സബ് (സബ്റൂട്ടീൻ). നടപടിക്രമങ്ങൾ തമ്മിലുള്ള പ്രധാന വ്യത്യാസം ഫംഗ്ഷൻ и സബ് അതാണ് നടപടിക്രമം ഫംഗ്ഷൻ ഫലം, നടപടിക്രമം നൽകുന്നു സബ് - അല്ല.

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

വാദങ്ങൾ

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

Sub AddToCells(i Integer ആയി) ... ഉപ അവസാനിക്കുക

നടപടിക്രമങ്ങൾക്കായി വാദങ്ങൾ ഉണ്ടെന്ന് ഓർമ്മിക്കുക ഫംഗ്ഷൻ и സബ് VBA-ൽ ഓപ്ഷണൽ ആണ്. ചില നടപടിക്രമങ്ങൾക്ക് വാദങ്ങൾ ആവശ്യമില്ല.

ഓപ്ഷണൽ ആർഗ്യുമെന്റുകൾ

VBA നടപടിക്രമങ്ങൾക്ക് ഓപ്ഷണൽ ആർഗ്യുമെന്റുകൾ ഉണ്ടാകാം. ഉപയോക്താവിന് വേണമെങ്കിൽ വ്യക്തമാക്കാൻ കഴിയുന്ന വാദങ്ങളാണിവ, അവ ഒഴിവാക്കിയാൽ, നടപടിക്രമം അവയ്‌ക്കായി സ്ഥിരസ്ഥിതി മൂല്യങ്ങൾ ഉപയോഗിക്കുന്നു.

മുമ്പത്തെ ഉദാഹരണത്തിലേക്ക് മടങ്ങുമ്പോൾ, ഒരു ഫംഗ്‌ഷൻ ഓപ്‌ഷണലിലേക്ക് ഒരു പൂർണ്ണസംഖ്യ ആർഗ്യുമെന്റ് ഉണ്ടാക്കാൻ, അത് ഇതുപോലെ പ്രഖ്യാപിക്കും:

Sub AddToCells(ഓപ്ഷണൽ i ആയി പൂർണ്ണസംഖ്യ = 0)

ഈ സാഹചര്യത്തിൽ, പൂർണ്ണസംഖ്യ ആർഗ്യുമെന്റ് i സ്ഥിരസ്ഥിതി 0 ആയിരിക്കും.

ഒരു നടപടിക്രമത്തിൽ നിരവധി ഓപ്ഷണൽ ആർഗ്യുമെന്റുകൾ ഉണ്ടാകാം, അവയെല്ലാം ആർഗ്യുമെന്റ് ലിസ്റ്റിന്റെ അവസാനം ലിസ്റ്റ് ചെയ്തിരിക്കുന്നു.

മൂല്യവും റഫറൻസും വഴി ആർഗ്യുമെന്റുകൾ കൈമാറുന്നു

വിബിഎയിലെ ആർഗ്യുമെന്റുകൾ രണ്ട് തരത്തിൽ ഒരു നടപടിക്രമത്തിലേക്ക് കൈമാറാം:

  • ബ്യ്വല് - മൂല്യം അനുസരിച്ച് ഒരു വാദം പാസാക്കുന്നു. ഇതിനർത്ഥം, മൂല്യം (അതായത്, ആർഗ്യുമെന്റിന്റെ ഒരു പകർപ്പ്) മാത്രമേ നടപടിക്രമത്തിലേക്ക് കൈമാറുകയുള്ളൂ, അതിനാൽ നടപടിക്രമം പുറത്തുകടക്കുമ്പോൾ നടപടിക്രമത്തിനുള്ളിലെ ആർഗ്യുമെന്റിൽ വരുത്തിയ മാറ്റങ്ങൾ നഷ്ടപ്പെടും.
  • ബ്യ്രെഫ് - റഫറൻസ് വഴി ഒരു വാദം പാസാക്കുന്നു. അതായത്, മെമ്മറിയിലെ ആർഗ്യുമെന്റ് ലൊക്കേഷന്റെ യഥാർത്ഥ വിലാസം നടപടിക്രമത്തിലേക്ക് കൈമാറുന്നു. നടപടിക്രമത്തിനുള്ളിലെ ഒരു ആർഗ്യുമെന്റിൽ വരുത്തിയ എല്ലാ മാറ്റങ്ങളും നടപടിക്രമം പുറത്തുകടക്കുമ്പോൾ സംരക്ഷിക്കപ്പെടും.

കീവേഡുകൾ ഉപയോഗിക്കുന്നു ബ്യ്വല് or ബ്യ്രെഫ് നടപടിക്രമ പ്രഖ്യാപനത്തിൽ, നടപടിക്രമത്തിലേക്ക് ആർഗ്യുമെന്റ് എങ്ങനെയാണ് കൈമാറുന്നതെന്ന് നിങ്ങൾക്ക് വ്യക്തമാക്കാൻ കഴിയും. ഇത് ചുവടെയുള്ള ഉദാഹരണങ്ങളിൽ കാണിച്ചിരിക്കുന്നു:

Sub AddToCells(ByVal i As Integer) ... അവസാനം സബ്
ഈ സാഹചര്യത്തിൽ, പൂർണ്ണസംഖ്യ ആർഗ്യുമെന്റ് i മൂല്യം വഴി കടന്നു. നടപടിക്രമം ഉപേക്ഷിച്ച ശേഷം സബ് എല്ലാം ഉണ്ടാക്കിയത് i മാറ്റങ്ങൾ നഷ്ടപ്പെടും.
Sub AddToCells(ByRef i Integer ആയി) ... അവസാനം സബ്
ഈ സാഹചര്യത്തിൽ, പൂർണ്ണസംഖ്യ ആർഗ്യുമെന്റ് i റഫറൻസ് വഴി പാസ്സാക്കി. നടപടിക്രമം ഉപേക്ഷിച്ച ശേഷം സബ് എല്ലാം ഉണ്ടാക്കിയത് i നടപടിക്രമത്തിലേക്ക് കൈമാറിയ വേരിയബിളിൽ മാറ്റങ്ങൾ സൂക്ഷിക്കും സബ്.

വി‌ബി‌എയിലെ ആർഗ്യുമെന്റുകൾ സ്ഥിരസ്ഥിതിയായി റഫറൻസ് വഴി പാസാക്കുന്നുവെന്ന് ഓർമ്മിക്കുക. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, കീവേഡുകൾ ഉപയോഗിക്കുന്നില്ലെങ്കിൽ ബ്യ്വല് or ബ്യ്രെഫ്, തുടർന്ന് വാദം റഫറൻസ് വഴി പാസാക്കും.

നടപടിക്രമങ്ങളുമായി മുന്നോട്ട് പോകുന്നതിന് മുമ്പ് ഫംഗ്ഷൻ и സബ് കൂടുതൽ വിശദമായി, ഈ രണ്ട് തരത്തിലുള്ള നടപടിക്രമങ്ങൾ തമ്മിലുള്ള സവിശേഷതകളും വ്യത്യാസങ്ങളും ഒന്നുകൂടി പരിശോധിക്കുന്നത് ഉപയോഗപ്രദമാകും. വിബിഎ നടപടിക്രമങ്ങളുടെ സംക്ഷിപ്ത ചർച്ചകളാണ് ഇനിപ്പറയുന്നത് ഫംഗ്ഷൻ и സബ് കൂടാതെ ലളിതമായ ഉദാഹരണങ്ങൾ കാണിക്കുന്നു.

VBA നടപടിക്രമം "ഫംഗ്ഷൻ"

VBA എഡിറ്റർ നടപടിക്രമം തിരിച്ചറിയുന്നു ഫംഗ്ഷൻഇനിപ്പറയുന്ന ഓപ്പണിംഗ്, ക്ലോസിംഗ് സ്റ്റേറ്റ്‌മെന്റുകൾക്കിടയിൽ ഒരു കൂട്ടം കമാൻഡുകൾ അത് നേരിടുമ്പോൾ:

ഫങ്ഷൻ ... എൻഡ് ഫംഗ്ഷൻ

നേരത്തെ സൂചിപ്പിച്ചതുപോലെ, നടപടിക്രമം ഫംഗ്ഷൻ VBA-യിൽ (വിരോധമായി സബ്) ഒരു മൂല്യം നൽകുന്നു. റിട്ടേൺ മൂല്യങ്ങൾക്ക് ഇനിപ്പറയുന്ന നിയമങ്ങൾ ബാധകമാണ്:

  • റിട്ടേൺ മൂല്യത്തിന്റെ ഡാറ്റ തരം നടപടിക്രമത്തിന്റെ തലക്കെട്ടിൽ പ്രഖ്യാപിക്കണം ഫംഗ്ഷൻ.
  • റിട്ടേൺ മൂല്യം ഉൾക്കൊള്ളുന്ന വേരിയബിളിന് നടപടിക്രമത്തിന് സമാനമായ പേര് നൽകണം ഫംഗ്ഷൻ. ഈ വേരിയബിൾ വെവ്വേറെ പ്രഖ്യാപിക്കേണ്ടതില്ല, കാരണം ഇത് എല്ലായ്പ്പോഴും നടപടിക്രമത്തിന്റെ അവിഭാജ്യ ഘടകമായി നിലനിൽക്കുന്നു. ഫംഗ്ഷൻ.

ഇനിപ്പറയുന്ന ഉദാഹരണത്തിൽ ഇത് നന്നായി ചിത്രീകരിച്ചിരിക്കുന്നു.

VBA ഫംഗ്‌ഷൻ ഉദാഹരണം: 3 അക്കങ്ങളിൽ ഒരു ഗണിത പ്രവർത്തനം നടത്തുന്നു

ഒരു VBA നടപടിക്രമ കോഡിന്റെ ഒരു ഉദാഹരണമാണ് ഇനിപ്പറയുന്നത് ഫംഗ്ഷൻ, ഏത് തരത്തിലുള്ള മൂന്ന് ആർഗ്യുമെന്റുകൾ എടുക്കുന്നു ഇരട്ട (ഇരട്ട-പ്രിസിഷൻ ഫ്ലോട്ടിംഗ് പോയിന്റ് നമ്പറുകൾ). തൽഫലമായി, നടപടിക്രമം മറ്റൊരു തരം തരം നൽകുന്നു ഇരട്ടആദ്യത്തെ രണ്ട് ആർഗ്യുമെന്റുകളുടെ ആകെത്തുകയ്ക്ക് തുല്യം, മൂന്നാമത്തെ ആർഗ്യുമെന്റിൽ നിന്ന്

ഫംഗ്‌ഷൻ SumMinus(dNum1 ഇരട്ടിയായി, dNum2 ഇരട്ടിയായി, dNum3 ഇരട്ടിയായി) ഡബിൾ SumMinus = dNum1 + dNum2 - dNum3 എൻഡ് ഫംഗ്‌ഷൻ

ഈ വളരെ ലളിതമായ VBA നടപടിക്രമം ഫംഗ്ഷൻ ആർഗ്യുമെന്റുകളിലൂടെ ഒരു നടപടിക്രമത്തിലേക്ക് ഡാറ്റ എങ്ങനെ കൈമാറുന്നുവെന്ന് വ്യക്തമാക്കുന്നു. നടപടിക്രമം നൽകുന്ന ഡാറ്റ തരം ഇതായി നിർവചിച്ചിരിക്കുന്നത് നിങ്ങൾക്ക് കാണാൻ കഴിയും ഇരട്ട (വാക്കുകൾ പറയുന്നു ഇരട്ടയായി വാദങ്ങളുടെ പട്ടികയ്ക്ക് ശേഷം). നടപടിക്രമത്തിന്റെ ഫലം എങ്ങനെയെന്നും ഈ ഉദാഹരണം കാണിക്കുന്നു ഫംഗ്ഷൻ നടപടിക്രമത്തിന്റെ പേരിന്റെ അതേ പേരിൽ ഒരു വേരിയബിളിൽ സംഭരിച്ചിരിക്കുന്നു.

VBA നടപടിക്രമം "ഫംഗ്ഷൻ" എന്ന് വിളിക്കുന്നു

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

മറ്റൊരു നടപടിക്രമത്തിൽ നിന്ന് VBA നടപടിക്രമം "ഫംഗ്ഷൻ" എന്ന് വിളിക്കുക

നടപടിക്രമം ഫംഗ്ഷൻ ഒരു വേരിയബിളിലേക്ക് ആ നടപടിക്രമം നൽകിക്കൊണ്ട് മറ്റൊരു VBA നടപടിക്രമത്തിൽ നിന്ന് വിളിക്കാം. ഇനിപ്പറയുന്ന ഉദാഹരണം ഒരു നടപടിക്രമത്തിലേക്കുള്ള ഒരു കോൾ കാണിക്കുന്നു സമ്മിനസ്, മുകളിൽ നിർവചിച്ചത്.

സബ് മെയിൻ() മങ്ങിയ ആകെ മൊത്തം ഇരട്ടി = SumMinus(5, 4, 3) എൻഡ് സബ്

ഒരു വർക്ക്ഷീറ്റിൽ നിന്ന് VBA നടപടിക്രമം "ഫംഗ്ഷൻ" എന്ന് വിളിക്കുക

VBA നടപടിക്രമം ഫംഗ്ഷൻ മറ്റേതൊരു ബിൽറ്റ്-ഇൻ Excel ഫംഗ്‌ഷനും പോലെ തന്നെ ഒരു Excel വർക്ക്‌ഷീറ്റിൽ നിന്നും വിളിക്കാം. അതിനാൽ, മുമ്പത്തെ ഉദാഹരണത്തിൽ സൃഷ്ടിച്ച നടപടിക്രമം ഫംഗ്ഷൻ - സമ്മിനസ് ഒരു വർക്ക്ഷീറ്റ് സെല്ലിലേക്ക് ഇനിപ്പറയുന്ന എക്സ്പ്രഷൻ നൽകി വിളിക്കാം:

=SumMinus(10, 5, 2)

VBA നടപടിക്രമം "ഉപ"

അതിന്റെ മുന്നിൽ ഒരു നടപടിക്രമമുണ്ടെന്ന് VBA എഡിറ്റർ മനസ്സിലാക്കുന്നു സബ്ഇനിപ്പറയുന്ന ഓപ്പണിംഗ്, ക്ലോസിംഗ് സ്റ്റേറ്റ്‌മെന്റുകൾക്കിടയിൽ ഒരു കൂട്ടം കമാൻഡുകൾ അത് നേരിടുമ്പോൾ:

സബ് ... എൻഡ് സബ്

VBA നടപടിക്രമം "സബ്": ഉദാഹരണം 1. സെല്ലുകളുടെ തിരഞ്ഞെടുത്ത ശ്രേണിയിലെ കേന്ദ്ര വിന്യാസവും ഫോണ്ട് സൈസ് മാറ്റവും

ഒരു ലളിതമായ VBA നടപടിക്രമത്തിന്റെ ഒരു ഉദാഹരണം പരിഗണിക്കുക സബ്, സെല്ലുകളുടെ തിരഞ്ഞെടുത്ത ശ്രേണിയുടെ ഫോർമാറ്റിംഗ് മാറ്റുക എന്നതാണ് ആരുടെ ചുമതല. സെല്ലുകൾ കേന്ദ്രീകരിച്ചിരിക്കുന്നു (ലംബമായും തിരശ്ചീനമായും) കൂടാതെ ഫോണ്ട് വലുപ്പം ഉപയോക്താവ് വ്യക്തമാക്കിയതിലേക്ക് മാറ്റുന്നു:

ഉപ ഫോർമാറ്റ്_സെന്റർഡ്_ആൻഡ്_സൈസ്ഡ് (ഓപ്ഷണൽ iFontSize as Integer = 10) Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Selection.Font.Size = iFontSize എൻഡ് സബ്

ഈ നടപടിക്രമം സബ് പ്രവർത്തനങ്ങൾ ചെയ്യുന്നു, പക്ഷേ ഫലം നൽകുന്നില്ല.

ഈ ഉദാഹരണം ഒരു ഓപ്ഷണൽ ആർഗ്യുമെന്റും ഉപയോഗിക്കുന്നു അക്ഷര വലിപ്പം. വാദം എങ്കിൽ അക്ഷര വലിപ്പം നടപടിക്രമത്തിലേക്ക് കടന്നില്ല സബ്, അപ്പോൾ അതിന്റെ ഡിഫോൾട്ട് മൂല്യം 10 ​​ആണ്. എന്നിരുന്നാലും, ആർഗ്യുമെന്റ് ആണെങ്കിൽ അക്ഷര വലിപ്പം നടപടിക്രമത്തിലേക്ക് കടന്നു സബ്, തുടർന്ന് സെല്ലുകളുടെ തിരഞ്ഞെടുത്ത ശ്രേണി ഉപയോക്താവ് വ്യക്തമാക്കിയ ഫോണ്ട് വലുപ്പത്തിലേക്ക് സജ്ജീകരിക്കും.

VBA ഉപ നടപടിക്രമം: ഉദാഹരണം 2: സെല്ലുകളുടെ തിരഞ്ഞെടുത്ത ശ്രേണിയിൽ മധ്യഭാഗത്ത് വിന്യസിക്കുക, ബോൾഡ് ഫോണ്ട്

ഇനിപ്പറയുന്ന നടപടിക്രമം ഇപ്പോൾ ചർച്ച ചെയ്തതിന് സമാനമാണ്, എന്നാൽ ഇത്തവണ, വലുപ്പം മാറ്റുന്നതിനുപകരം, തിരഞ്ഞെടുത്ത സെല്ലുകളുടെ ശ്രേണിയിൽ ഇത് ബോൾഡ് ഫോണ്ട് ശൈലി പ്രയോഗിക്കുന്നു. ഇത് ഒരു ഉദാഹരണ നടപടിക്രമമാണ് സബ്, വാദങ്ങളൊന്നും എടുക്കുന്നില്ല:

Sub Format_Centered_And_Bold() Selection.HorizontalAlignment = xlCenter Selection.VerticalAlignment = xlCenter Selection.Font.Bold = ട്രൂ എൻഡ് സബ്

Excel VBA-ൽ "സബ്" നടപടിക്രമം വിളിക്കുന്നു

മറ്റൊരു നടപടിക്രമത്തിൽ നിന്ന് VBA നടപടിക്രമം "സബ്" എന്ന് വിളിക്കുക

ഒരു VBA നടപടിക്രമം വിളിക്കാൻ സബ് മറ്റൊരു VBA നടപടിക്രമത്തിൽ നിന്ന്, നിങ്ങൾ കീവേഡ് എഴുതേണ്ടതുണ്ട് വിളി, നടപടിക്രമത്തിന്റെ പേര് സബ് കൂടാതെ ബ്രാക്കറ്റീസിൽ നടപടിക്രമത്തിന്റെ ആർഗ്യുമെന്റുകൾ ഉണ്ട്. ഇത് ചുവടെയുള്ള ഉദാഹരണത്തിൽ കാണിച്ചിരിക്കുന്നു:

സബ് മെയിൻ() കോൾ ഫോർമാറ്റ്_സെന്റർഡ്_ആൻഡ്_സൈസ്ഡ്(20) എൻഡ് സബ്

നടപടിക്രമം എങ്കിൽ Format_Centered_and_Sized ഒന്നിലധികം ആർഗ്യുമെന്റുകൾ ഉണ്ട്, അവ കോമകളാൽ വേർതിരിക്കേണ്ടതാണ്. ഇതുപോലെ:

സബ് മെയിൻ() കോൾ ഫോർമാറ്റ്_സെന്റർഡ്_ആൻഡ്_സൈസ്ഡ്(arg1, arg2, ...) ഉപ അവസാനം

വർക്ക്ഷീറ്റിൽ നിന്ന് VBA നടപടിക്രമം "സബ്" എന്ന് വിളിക്കുക

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

ഒരു നടപടിക്രമം പ്രവർത്തിപ്പിക്കാനുള്ള (അല്ലെങ്കിൽ എക്സിക്യൂട്ട് ചെയ്യാനുള്ള) എളുപ്പവഴി ഇതാ സബ്, വർക്ക്ഷീറ്റിൽ നിന്ന് ആക്സസ് ചെയ്യാവുന്നതാണ്:

  • അമർത്തുക Alt + F8 (കീ അമർത്തുക ആൾട്ട് അത് അമർത്തിപ്പിടിച്ചുകൊണ്ട് കീ അമർത്തുക F8).
  • ദൃശ്യമാകുന്ന മാക്രോകളുടെ പട്ടികയിൽ, നിങ്ങൾ പ്രവർത്തിപ്പിക്കാൻ ആഗ്രഹിക്കുന്ന ഒന്ന് തിരഞ്ഞെടുക്കുക.
  • അമർത്തുക പ്രവർത്തിപ്പിക്കുക (ഓട്ടം)

ഒരു നടപടിക്രമം നടത്താൻ സബ് വേഗത്തിലും എളുപ്പത്തിലും, നിങ്ങൾക്ക് അതിലേക്ക് ഒരു കീബോർഡ് കുറുക്കുവഴി നൽകാം. ഇതിനായി:

  • അമർത്തുക Alt + F8.
  • ദൃശ്യമാകുന്ന മാക്രോകളുടെ ലിസ്റ്റിൽ, നിങ്ങൾക്ക് ഒരു കീബോർഡ് കുറുക്കുവഴി നൽകേണ്ട ഒന്ന് തിരഞ്ഞെടുക്കുക.
  • അമർത്തുക പരാമീറ്ററുകൾ (ഓപ്ഷനുകൾ) കൂടാതെ ദൃശ്യമാകുന്ന ഡയലോഗ് ബോക്സിൽ, കീബോർഡ് കുറുക്കുവഴി നൽകുക.
  • അമർത്തുക OK കൂടാതെ ഡയലോഗ് അടയ്ക്കുക മാക്രോ (മാക്രോ).

ശ്രദ്ധ: ഒരു മാക്രോയിലേക്ക് കീബോർഡ് കുറുക്കുവഴി നൽകുമ്പോൾ, അത് Excel-ൽ സ്റ്റാൻഡേർഡ് ആയി ഉപയോഗിക്കുന്നില്ലെന്ന് ഉറപ്പാക്കുക (ഉദാഹരണത്തിന്, Ctrl + C). നിങ്ങൾ ഇതിനകം നിലവിലുള്ള ഒരു കീബോർഡ് കുറുക്കുവഴി തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, അത് മാക്രോയിലേക്ക് വീണ്ടും അസൈൻ ചെയ്യപ്പെടും, അതിന്റെ ഫലമായി ഉപയോക്താവിന് ആകസ്മികമായി മാക്രോ ആരംഭിച്ചേക്കാം.

VBA നടപടിക്രമ വ്യാപ്തി

ഈ ട്യൂട്ടോറിയലിന്റെ രണ്ടാം ഭാഗം വേരിയബിളുകളുടെയും സ്ഥിരാങ്കങ്ങളുടെയും വ്യാപ്തിയും കീവേഡുകളുടെ പങ്കും ചർച്ച ചെയ്തു. പൊതു и സ്വകാര്യ. ഈ കീവേഡുകൾ VBA നടപടിക്രമങ്ങൾക്കൊപ്പം ഉപയോഗിക്കാം:

പബ്ലിക് സബ് ആഡ്‌ടോസെല്ലുകൾ(ഞാൻ പൂർണ്ണസംഖ്യയായി) ... ഉപ അവസാനം
നടപടിക്രമ പ്രഖ്യാപനത്തിന് മുമ്പായി കീവേഡ് ഉണ്ടെങ്കിൽ പൊതു, അപ്പോൾ ആ VBA പ്രോജക്റ്റിലെ എല്ലാ മൊഡ്യൂളുകൾക്കും നടപടിക്രമം ലഭ്യമാകും.
സ്വകാര്യ സബ് ആഡ്‌ടോസെല്ലുകൾ (ഞാൻ പൂർണ്ണസംഖ്യയായി) ... ഉപ അവസാനം
നടപടിക്രമ പ്രഖ്യാപനത്തിന് മുമ്പായി കീവേഡ് ഉണ്ടെങ്കിൽ സ്വകാര്യ, അപ്പോൾ ഈ നടപടിക്രമം നിലവിലെ മൊഡ്യൂളിന് മാത്രമേ ലഭ്യമാകൂ. മറ്റേതെങ്കിലും മൊഡ്യൂളിൽ ആയിരിക്കുമ്പോൾ അല്ലെങ്കിൽ ഒരു Excel വർക്ക്ബുക്കിൽ നിന്ന് വിളിക്കാൻ കഴിയില്ല.

ഒരു VBA നടപടിക്രമം പ്രഖ്യാപിക്കുന്നതിന് മുമ്പ് അത് ഓർക്കുക ഫംഗ്ഷൻ or സബ് കീവേഡ് ചേർത്തിട്ടില്ല, നടപടിക്രമത്തിനായി ഡിഫോൾട്ട് പ്രോപ്പർട്ടി സജ്ജീകരിച്ചിരിക്കുന്നു പൊതു (അതായത്, ഈ VBA പ്രോജക്റ്റിൽ ഇത് എല്ലായിടത്തും ലഭ്യമാകും). ഇത് സ്ഥിരസ്ഥിതിയായി വേരിയബിൾ ഡിക്ലറേഷനുകൾക്ക് വിരുദ്ധമാണ് സ്വകാര്യ.

VBA നടപടിക്രമങ്ങൾ "ഫംഗ്ഷൻ", "സബ്" എന്നിവയിൽ നിന്ന് നേരത്തെ പുറത്തുകടക്കുക

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

ഫംഗ്‌ഷൻ VAT_Amount(sVAT_Rate Single) സിംഗിൾ VAT_Amount = 0 ആണെങ്കിൽ sVAT_Rate <= 0 അപ്പോൾ MsgBox "sVAT_Rate ന്റെ ഒരു പോസിറ്റീവ് മൂല്യം പ്രതീക്ഷിച്ചിരുന്നുവെങ്കിലും ലഭിച്ചു" & sVAT_Rate എക്‌സിറ്റ് ഫംഗ്‌ഷൻ അവസാനിക്കുകയാണെങ്കിൽ ... ഫംഗ്‌ഷൻ അവസാനിപ്പിക്കുക

നടപടിക്രമം പൂർത്തിയാക്കുന്നതിന് മുമ്പ് ദയവായി ശ്രദ്ധിക്കുക ഫംഗ്ഷൻ - VAT_തുക, ഒരു ബിൽറ്റ്-ഇൻ VBA ഫംഗ്ഷൻ കോഡിലേക്ക് ചേർത്തിരിക്കുന്നു MsgBox, ഇത് ഉപയോക്താവിന് ഒരു മുന്നറിയിപ്പ് പോപ്പ്അപ്പ് പ്രദർശിപ്പിക്കുന്നു.

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