በ Excel ማክሮ ውስጥ ተለዋዋጮችን እና ቋሚዎችን መረዳት

በዚህ ጽሑፍ ውስጥ, በማክሮዎች ውስጥ ምን ቋሚዎች እና ተለዋዋጮች, የት ጥቅም ላይ ሊውሉ እንደሚችሉ እና በተለያዩ የውሂብ ዓይነቶች መካከል ያለው ዋና ልዩነት ምን እንደሆነ ይማራሉ. እንዲሁም ተለዋዋጭ ብቻ መጻፍ ከቻሉ እና በጭራሽ እንዳይቀይሩት ለምን ቋሚዎች እንደሚያስፈልጉ ይገለጣል።

ልክ እንደሌሎች የፕሮግራም አወጣጥ ቋንቋዎች፣ መረጃዎች በተለዋዋጭ ወይም ቋሚ (ሁለቱም ብዙውን ጊዜ እንደ ዳታ ኮንቴይነሮች ተብለው ይጠራሉ) ውስጥ ሊቀመጡ ይችላሉ። በነዚህ ጽንሰ-ሐሳቦች መካከል ያለው ዋና ልዩነት ይህ ነው. በፕሮግራሙ ውስጥ ባለው ሁኔታ ላይ በመመስረት የመጀመሪያው ሊለወጥ ይችላል. በምላሹ, ቋሚዎች አንድ ጊዜ ይዘጋጃሉ እና ዋጋቸውን አይለውጡም.

ተመሳሳዩን ትልቅ እሴት ብዙ ጊዜ መጠቀም ከፈለጉ ቋሚዎች ጠቃሚ ሊሆኑ ይችላሉ። ቁጥሩን ከመቅዳት ይልቅ የቋሚውን ስም በቀላሉ መጻፍ ይችላሉ. ለምሳሌ, ቋሚ እሴት የሆነውን Pi ለማከማቸት ቋሚውን "Pi" መጠቀም ይችላሉ. በጣም ትልቅ ነው፣ እና በእያንዳንዱ ጊዜ እሱን ለመፃፍ ወይም ለመፈለግ እና ለመቅዳት በጣም ከባድ ነው። እና ስለዚህ, ሁለት ቁምፊዎችን መጻፍ በቂ ነው, እና አካባቢው የሚፈለገውን ቁጥር በራስ-ሰር ይጠቀማል.

የExcel ተጠቃሚው በውስጣቸው የተከማቸውን እሴት ከጊዜ ወደ ጊዜ መለወጥ ከፈለገ ተለዋዋጮችን ማወጅ አለበት። ለምሳሌ፣ sVAT_Rate የሚባል ተለዋዋጭ ማቀናበር ትችላለህ፣ ይህም የምርቱን የአሁኑን የቫት መጠን ያከማቻል። ከተቀየረ በፍጥነት ማረም ይችላሉ። ይህ በተለይ በዩናይትድ ስቴትስ ውስጥ ለሚሰሩ ሰዎች ጠቃሚ ነው፣ አንዳንድ እቃዎች በጭራሽ ተ.እ.ታ የማይጠየቁበት (እና ይህ ግብር ከስቴት ወደ ክፍለ ሀገር ይለያያል)።

የውሂብ ዓይነቶች

እያንዳንዱ የውሂብ መያዣ ከበርካታ ዓይነቶች ውስጥ አንዱ ሊሆን ይችላል. መደበኛውን የተቀነባበሩ መረጃዎችን የሚገልጽ ሠንጠረዥ አለ። ብዙዎቹ አሉ፣ እና መጀመሪያ ላይ እርስ በርስ የሚደጋገሙ ለጀማሪ ሊመስል ይችላል። ግን ይህ ምናባዊ ስሜት ነው. ትክክለኛውን የውሂብ አይነት መግለጽ በጣም አስፈላጊ የሆነው ለምን እንደሆነ ለማወቅ ያንብቡ።

ለአነስተኛ ቁጥሮች በማህደረ ትውስታ ውስጥ ተጨማሪ ቦታ የሚወስድ የውሂብ አይነት መጠቀም አይመከርም. ለምሳሌ, ለቁጥር 1, የባይት አይነት መጠቀም በቂ ነው. ይህ በተፈፃሚው ሞጁል አፈፃፀም ላይ በተለይም በደካማ ኮምፒተሮች ላይ በጎ ተጽእኖ ይኖረዋል. ግን እዚህ ብዙ ርቀት ላለመሄድ አስፈላጊ ነው. በጣም የታመቀ የውሂብ አይነት ከተጠቀሙ፣ ከመጠን በላይ የሆነ እሴት በውስጡ ላይስማማ ይችላል።

ኮንስታንት እና ተለዋዋጮችን ማወጅ

በመጀመሪያ ሳይገለጽ የውሂብ ኮንቴይነር መጠቀም በጥብቅ የተከለከለ ነው። ከዚያም ብዙ ችግሮች ሊፈጠሩ ይችላሉ, ይህም ለማስቀረት ጥቂት ትናንሽ የኮድ መስመሮችን በተለዋዋጭ ወይም ቋሚዎች መቁጠር አስፈላጊ ነው.

ተለዋዋጭ ለማወጅ የዲም መግለጫ ጥቅም ላይ ይውላል። ለምሳሌ፣ እንደዚህ፡-

ዲም ተለዋዋጭ_ስም እንደ ኢንቲጀር

ተለዋዋጭ_ስም የተለዋዋጭ ስም ነው። በመቀጠልም የመረጃውን አይነት የሚያመለክት ኦፕሬተር እንደ ተፃፈ። ከ"ተለዋዋጭ_ስም" እና "ኢንቲጀር" ሕብረቁምፊዎች ይልቅ የእራስዎን ስም እና የውሂብ አይነት ማስገባት ይችላሉ.

ቋሚዎች እንዲሁ ሊገለጹ ይችላሉ፣ ግን መጀመሪያ ዋጋቸውን መግለጽ አለብዎት። ከአማራጮች አንዱ፡-

Const iMaxCount = 5000

በፍትሃዊነት ፣ በአንዳንድ ሁኔታዎች ተለዋዋጭ ሳታወጁ ማድረግ ይችላሉ ፣ ግን በዚህ ሁኔታ እነሱ በራስ-ሰር ተለዋጭ ዓይነት ይመደባሉ ። ሆኖም ይህ በሚከተሉት ምክንያቶች አይመከርም።

  1. ተለዋዋጭ በጣም በዝግታ ነው የሚሰራው፣ እና ብዙ እንደዚህ አይነት ተለዋዋጮች ካሉ፣ የመረጃ ሂደት በደካማ ኮምፒውተሮች ላይ በከፍተኛ ሁኔታ ሊቀንስ ይችላል። እነዚያ ሰከንዶች የሚወስኑት ይመስላል? ነገር ግን ብዙ ቁጥር ያላቸውን የኮድ መስመሮች መፃፍ ካለብዎት እና ከዚያም ደካማ በሆኑ ኮምፒተሮች ላይ (አሁንም ይሸጣሉ, ዘመናዊ የቢሮ ስብስቦች ብዙ ራም ስለሚያስፈልጋቸው) ስራውን ሙሉ በሙሉ ማቆም ይችላሉ. ትንሽ ራም ያላቸው እና ውስብስብ ስራዎችን ለመስራት ያልተነደፉ ስማርት ደብተሮች እንዲቀዘቅዙ ያደረጋቸው በማክሮዎች በደንብ ያልታሰቡበት ሁኔታ አለ። 
  2. በስም ውስጥ የተሳሳቱ ህትመቶች ይፈቀዳሉ፣ ይህም ከተገኘ የማይታወቅ ተለዋዋጭ ለማግኘት የሚያስችል አማራጭ ግልጽ መግለጫ በመጠቀም መከላከል ይቻላል። ትንሹ የትየባ ትየባ አስተርጓሚው ተለዋዋጭውን መለየት እንዳይችል ስለሚያደርግ ይህ ስህተቶችን ለማግኘት ቀላል መንገድ ነው። እና የተለዋዋጭ መግለጫ ሁነታን ካበሩት፣ በሞጁሉ መጀመሪያ ላይ ያልተገለጹ የመረጃ መያዣዎች ከተገኙ አስተርጓሚው በቀላሉ ማክሮውን እንዲያሄዱ አይፈቅድልዎትም ።
  3. ከውሂቡ አይነት ጋር የማይዛመዱ በተለዋዋጭ እሴቶች ምክንያት የሚመጡ ስህተቶችን ያስወግዱ። በመደበኛነት የጽሑፍ እሴትን ለኢንቲጀር ተለዋዋጭ መመደብ ስህተትን ይጥላል። አዎ ፣ በአንድ በኩል ፣ አጠቃላይ ዓይነት ያለ መግለጫ ይመደባል ፣ ግን አስቀድሞ ከታወጁ ፣ ከዚያ የዘፈቀደ ስህተቶችን ማስቀረት ይቻላል ።

ስለዚህ, ሁሉም ነገር ቢኖርም, ሁሉንም ተለዋዋጮች በ Excel ማክሮዎች ውስጥ ማወጅ በጣም ይመከራል.

ተለዋዋጮችን በሚገልጹበት ጊዜ ማስታወስ ያለብዎት አንድ ተጨማሪ ነገር አለ። በተለዋዋጭ በሚገለጽበት ጊዜ ማንኛውንም እሴቶችን አለመመደብ ይቻላል ፣ ግን በዚህ ሁኔታ ነባሪ እሴት ያገኛል። ለምሳሌ:

  1. መስመሮች ባዶ ይደረጋሉ.
  2. ቁጥሮቹ ዋጋውን 0 ይወስዳሉ.
  3. የቦሊያን ዓይነት ተለዋዋጮች መጀመሪያ ላይ እንደ ሐሰት ይቆጠራሉ።
  4. ነባሪው ቀን ዲሴምበር 30, 1899 ነው።

ለምሳሌ ከዚህ ቀደም ምንም ዋጋ ካልተገለጸ እሴቱን 0 ወደ ኢንቲጀር ተለዋዋጭ መመደብ አያስፈልግዎትም። እሷ ቀድሞውንም ይህን ቁጥር ይዛለች።

አማራጭ ግልጽ መግለጫ

ይህ መግለጫ በ VBA ኮድ ውስጥ ጥቅም ላይ የሚውሉትን ሁሉንም ተለዋዋጮች እንዲያሳውቁ እና ኮዱ ከመጀመሩ በፊት ያልታወቁ መያዣዎች መኖራቸውን እንዲወስኑ ያስችልዎታል። ይህንን ባህሪ ለመጠቀም በማክሮ ኮድ አናት ላይ በቀላሉ የአማራጭ ግልጽ ኮድ መስመር ይፃፉ።

ይህንን መግለጫ በኮድዎ ውስጥ ሁል ጊዜ ማካተት ከፈለጉ በVBA አርታኢ ውስጥ ልዩ መቼት በመጠቀም ማድረግ ይችላሉ። ይህንን አማራጭ ለማንቃት የሚከተሉትን ማድረግ አለብዎት:

  1. በመንገድ ላይ ወደ ልማት አካባቢ ይሂዱ - መሳሪያዎች> አማራጮች.
  2. ከዚህ በኋላ በሚከፈተው መስኮት ውስጥ የአርታዒ ትሩን ይክፈቱ.
  3. እና በመጨረሻ፣ ተፈላጊ ተለዋዋጭ መግለጫ ንጥል ቀጥሎ ባለው ሳጥን ላይ ምልክት ያድርጉ።

እነዚህን እርምጃዎች ሲጨርሱ "እሺ" የሚለውን ቁልፍ ጠቅ ያድርጉ. 

ያ ብቻ ነው፣ አሁን እያንዳንዱን አዲስ ማክሮ በሚጽፍበት ጊዜ፣ ይህ መስመር በራስ-ሰር በኮዱ አናት ላይ ይገባል።

የቋሚዎች እና ተለዋዋጮች ወሰን

እያንዳንዱ ተለዋዋጭ ወይም ቋሚ የተወሰነ ወሰን ብቻ ነው ያለው። እርስዎ በሚያውጁበት ቦታ ይወሰናል.

ተግባር አለን እንበል ጠቅላላ_ወጪ(), እና ተለዋዋጭውን ይጠቀማል sVAT_ደረጃ. በሞጁሉ ውስጥ ባለው አቀማመጥ ላይ በመመስረት, የተለየ ወሰን ይኖረዋል.

አማራጭ ግልጽ

ልክ እንደ ነጠላ sVAT_ደረጃን ይቀንሱ

የተግባር ጠቅላላ_ወጪ() እንደ እጥፍ

.

.

.

መጨረሻ ተግባር

አንድ ተለዋዋጭ በራሱ ሞጁል አናት ላይ ከተገለጸ፣ በዚያ ሞጁል ውስጥ በሙሉ ይሰራጫል። ያም ማለት በእያንዳንዱ አሰራር ሊነበብ ይችላል.

በተጨማሪም ፣ ከሂደቶቹ ውስጥ አንዱ የተለዋዋጭውን ዋጋ ከለወጠው ፣ ከዚያ ቀጣዩ ደግሞ ይህንን የተስተካከለ እሴት ያነባል። ነገር ግን በሌሎች ሞጁሎች ውስጥ ይህ ተለዋዋጭ አሁንም አይነበብም.

አማራጭ ግልጽ

የተግባር ጠቅላላ_ወጪ() እንደ እጥፍ

ልክ እንደ ነጠላ sVAT_ደረጃን ይቀንሱ

   .

   .

   .

መጨረሻ ተግባር

በዚህ ሁኔታ, ተለዋዋጭው በሂደቱ ውስጥ ይገለጻል, እና አስተርጓሚው በሌላ አሰራር ውስጥ ጥቅም ላይ ከዋለ ስህተት ይጥላል.

ተለዋዋጭው በሌሎች ሞጁሎች እንዲነበብ ከፈለጉ ከዲም ቁልፍ ቃል ይልቅ የህዝብ ቁልፍ ቃሉን መጠቀም አለብዎት። በተመሳሳይ መልኩ ዲም ከሚለው ቃል ይልቅ የተጻፈውን የህዝብ መግለጫ በመጠቀም የተለዋዋጭውን ወሰን አሁን ባለው ሞጁል ብቻ መወሰን ትችላለህ።

የቋሚዎችን ወሰን በተመሳሳይ መንገድ ማቀናበር ይችላሉ, ነገር ግን እዚህ ያለው ቁልፍ ቃል ከኮንስት ኦፕሬተር ጋር አንድ ላይ ተጽፏል.

ከቋሚዎች እና ተለዋዋጭዎች ጋር እንዴት እንደሚሰራ ጥሩ ምሳሌ ያለው ሰንጠረዥ እዚህ አለ.

አማራጭ ግልጽ

ይፋዊ sVAT_ደረጃ እንደ ነጠላ

የህዝብ Const iMax_Count = 5000

በዚህ ምሳሌ፣ ተለዋዋጭ ለማወጅ የህዝብ ቁልፍ ቃል እንዴት ጥቅም ላይ እንደሚውል እና የህዝብ ቋሚን ለማወጅ በ Visual Basic አርታኢ ውስጥ ምን መፃፍ እንዳለቦት ማየት ይችላሉ። የእነዚህ እሴት መያዣዎች ስፋት በሁሉም ሞጁሎች ላይ ይሠራል.
አማራጭ ግልጽ

የግል sVAT_ደረጃ እንደ ነጠላ

የግል Const iMax_Count = 5000

እዚህ፣ ተለዋዋጮች እና ቋሚዎች የግል ቁልፍ ቃልን በመጠቀም ይታወቃሉ። ይህ ማለት አሁን ባለው ሞጁል ውስጥ ብቻ ሊታዩ ይችላሉ, እና በሌሎች ሞጁሎች ውስጥ ያሉ ሂደቶች ሊጠቀሙባቸው አይችሉም.

ለምን ቋሚዎች እና ተለዋዋጭዎች ያስፈልጋሉ

የቋሚዎች እና ተለዋዋጮች አጠቃቀም የኮዱን የመረዳት ችሎታ ደረጃ እንዲጨምሩ ያስችልዎታል። እና ጀማሪዎች በአጠቃላይ ለምን ተለዋዋጮች እንደሚያስፈልጉ ጥያቄዎች ከሌላቸው ፣ ከዚያ የቋሚዎችን አስፈላጊነት በተመለከተ ብዙ አሻሚዎች አሉ። እና ይህ ጥያቄ በመጀመሪያ ሲታይ በጣም ምክንያታዊ ይመስላል. ከሁሉም በኋላ, አንድ ተለዋዋጭ አንድ ጊዜ ማወጅ እና እንደገና መቀየር አይችሉም.

በማህደረ ትውስታ ውስጥ ትልቅ ቦታ የሚይዙ የውሂብ አይነቶች አጠቃቀምን በተመለከተ መልሱ በተመሳሳይ አውሮፕላን ውስጥ የሆነ ቦታ ሆኖ ተገኝቷል። ከተለዋዋጮች ብዛት ጋር እየተገናኘን ከሆነ ያለን መያዣ በአጋጣሚ መለወጥ እንችላለን። ተጠቃሚው የተወሰነ እሴት መቼም እንደማይለወጥ ካዘዘ አከባቢው በራስ-ሰር ይህንን ይቆጣጠራል።

ይህ በተለይ ማክሮው በበርካታ ፕሮግራመሮች ሲጻፍ በጣም አስፈላጊ ነው. አንድ ሰው አንዳንድ ተለዋዋጭ መለወጥ እንደሌለበት ሊያውቅ ይችላል. እና ሌላው አይደለም. የኮንስት ኦፕሬተርን ከገለጹ፣ ሌላ ገንቢ ይህ ዋጋ እንደማይለወጥ ያውቃል።

ወይም, አንድ ስም ያለው ቋሚ ካለ, እና ተለዋዋጭው የተለየ, ግን ተመሳሳይ ስም አለው. ገንቢው በቀላሉ ሊያደናቅፋቸው ይችላል። ለምሳሌ, አንድ ተለዋዋጭ መለወጥ የማያስፈልገው ተለዋዋጭ 11 ይባላል, እና ሌላ ሊስተካከል የሚችል ተለዋዋጭ1 ይባላል. አንድ ሰው ኮድ ሲጽፍ በድንገት አንድ ተጨማሪ ክፍል መዝለል እና ሳያስተውል በራስ-ሰር ይችላል። በውጤቱም, የእሴቶች መያዣው ይለወጣል, ይህም መንካት የለበትም.

ወይም ገንቢው ራሱ የትኞቹን ተለዋዋጮች ሊነካው እንደሚችል እና የማይችለውን ሊረሳው ይችላል። ይህ ብዙውን ጊዜ የሚከሰተው ኮዱ ለብዙ ሳምንታት ሲጻፍ ነው, እና መጠኑ ትልቅ ይሆናል. በዚህ ጊዜ, ይህ ወይም ያ ተለዋዋጭ ምን ማለት እንደሆነ ለመርሳት በጣም ቀላል ነው.

አዎ፣ በዚህ ሁኔታ ውስጥ በአስተያየቶች ማድረግ ትችላለህ፣ ግን ኮንስት የሚለውን ቃል መግለጽ ቀላል አይደለም?

ታሰላስል

ተለዋዋጮች የማክሮ ፕሮግራሚንግ አስፈላጊ አካል ናቸው ፣ ይህም ከሂሳብ ስሌት እስከ አንዳንድ ክስተቶችን ለተጠቃሚው ለማሳወቅ ወይም በተመን ሉህ ሕዋሳት ውስጥ የተወሰኑ እሴቶችን እንዲገልጹ የሚያስችልዎ ውስብስብ ስራዎችን እንዲሰሩ ያስችልዎታል።

የእነዚህ ኮንቴይነሮች ይዘት ለወደፊቱ እንደማይለወጥ ገንቢው በእርግጠኝነት ካወቀ ቋሚዎች ጥቅም ላይ መዋል አለባቸው። በአጋጣሚ ስህተት መሥራት ስለሚቻል በምትኩ ተለዋዋጮችን ላለመጠቀም ይመከራል።

መልስ ይስጡ