פֿאַרשטיין וועריאַבאַלז און קאַנסטאַנץ אין עקססעל מאַקראָס

אין דעם אַרטיקל, איר וועט לערנען וואָס קאַנסטאַנץ און וועריאַבאַלז זענען אין מאַקראָס, ווו זיי קענען זיין געוויינט, און וואָס איז די הויפּט חילוק צווישן פאַרשידענע דאַטן טייפּס. עס וועט אויך זיין גילוי וואָס קאַנסטאַנץ זענען דארף, אויב איר קענען נאָר שרייַבן אַ בייַטעוודיק און קיינמאָל טוישן עס.

ווי אנדערע פּראָגראַממינג שפראַכן, דאַטן קענען זיין סטאָרד אין וועריאַבאַלז אָדער קאַנסטאַנץ (וואָס ביידע זענען אָפט ריפערד צו ווי דאַטן קאַנטיינערז). דאָס איז דער הויפּט חילוק צווישן די קאַנסעפּס. די ערשטע קען טוישן דיפּענדינג אויף וואָס כאַפּאַנז אין דעם פּראָגראַם. אין קער, קאַנסטאַנץ זענען באַשטימט אַמאָל און טאָן ניט טוישן זייער ווערט.

קאַנסטאַנץ קענען זיין נוציק אויב איר דאַרפֿן צו נוצן די זעלבע גרויס ווערט עטלעכע מאָל. אַנשטאָט קאַפּיינג די נומער, איר קענען פשוט שרייַבן די נאָמען פון די קעסיידערדיק. פֿאַר בייַשפּיל, איר קענען נוצן די קעסיידערדיק "פּי" צו קראָם פּי, וואָס איז אַ קעסיידערדיק ווערט. עס איז זייער גרויס, און יעדער מאָל עס איז גאַנץ שווער צו שרייַבן אָדער זוכן און נאָכמאַכן עס. און אַזוי, עס איז גענוג צו שרייַבן צוויי אותיות, און די סוויווע ניצט אויטאָמאַטיש די געבעטן נומער.

דער עקססעל באַניצער דאַרף צו דערקלערן וועריאַבאַלז אויב ער דאַרף צו טוישן די ווערט סטאָרד אין זיי פון צייַט צו צייַט. פֿאַר בייַשפּיל, איר קענען שטעלן אַ בייַטעוודיק גערופֿן sVAT_Rate, וואָס וועט קראָם די קראַנט וואַט קורס פֿאַר דעם פּראָדוקט. אויב עס ענדערונגען, איר קענען געשווינד פאַרריכטן עס. דאָס איז ספּעציעל נוציק פֿאַר יענע וואָס טאָן געשעפט אין די פאַרייניקטע שטאַטן, ווו עטלעכע סכוירע קען נישט זיין אונטערטעניק צו וואַט (און די שטייער איז אויך אַנדערש פון שטאַט צו שטאַט).

דאַטע טייפּס

יעדער דאַטן קאַנטיינער קענען זיין איינער פון עטלעכע טייפּס. דאָ איז אַ טיש וואָס דיסקרייבד די נאָרמאַל טייפּס פון פּראַסעסט אינפֿאָרמאַציע. עס זענען פילע פון ​​זיי, און עס קען ויסקומען צו אַ אָנהייבער טכילעס אַז זיי איבערחזרן יעדער אנדערער. אבער דאָס איז אַן אילוזיע געפיל. לייענען אויף צו לערנען וואָס ספּעציפיצירן די ריכטיק דאַטן טיפּ איז אַזוי וויכטיק.

עס איז נישט רעקאַמענדיד צו נוצן אַ דאַטן טיפּ וואָס נעמט מער פּלאַץ אין זכּרון פֿאַר קליין נומערן. פֿאַר בייַשפּיל, פֿאַר די נומער 1, עס איז גענוג צו נוצן די Byte טיפּ. דאָס וועט האָבן אַ positive ווירקונג אויף די פאָרשטעלונג פון די עקסעקוטאַבלע מאָדולע, ספּעציעל אויף שוואַך קאָמפּיוטערס. אבער עס איז וויכטיק נישט צו גיין צו ווייַט דאָ. אויב איר נוצן אַ דאַטן טיפּ וואָס איז אויך סאָליד, אַן אָוווערסייזד ווערט קען נישט פּאַסיק אין עס.

דערקלערן קאַנסטאַנץ און וועריאַבאַלז

ניצן אַ דאַטן קאַנטיינער אָן ערשטער דערקלערן עס איז שטארק דיסקערידזשד. דעמאָלט אַ נומער פון פראבלעמען קענען אויפשטיין, צו ויסמיידן וואָס עס איז נייטיק צו שרייַבן אַ ביסל קליין שורות פון קאָד מיט ינומעריישאַן פון וועריאַבאַלז אָדער קאַנסטאַנץ.

צו דערקלערן אַ בייַטעוודיק, די דים ויסזאָגונג איז געניצט. פֿאַר בייַשפּיל, ווי דאָס:

Dim Variable_Name ווי ינטעגער

Variable_Name איז דער נאָמען פון די בייַטעוודיק. דערנאָך, די ווי אָפּעראַטאָר איז געשריבן, ינדאַקייטינג די דאַטן טיפּ. אַנשטאָט די סטרינגס "Variable_Name" און "ינטעגער", איר קענען אַרייַנלייגן דיין אייגענע נאָמען און דאַטן טיפּ.

קאַנסטאַנץ קענען אויך זיין דערקלערט, אָבער איר מוזן ערשטער ספּעציפיצירן זייער ווערט. איינער פון די אָפּציעס איז:

קאָנסט ימאַקסקאָונט = 5000

אין יוישער, אין עטלעכע קאַסעס איר קענען טאָן אָן דיקלערינג אַ בייַטעוודיק, אָבער אין דעם פאַל, זיי וועט אויטאָמאַטיש זיין אַסיינד די טיפּ וואַריאַנט. אָבער, דאָס איז נישט רעקאַמענדיד פֿאַר די פאלגענדע סיבות:

  1. וואַריאַנט איז פּראַסעסט פיל מער סלאָולי, און אויב עס זענען פילע אַזאַ וועריאַבאַלז, אינפֿאָרמאַציע פּראַסעסינג קענען זיין באטייטיק סלאָוד אַראָפּ אויף שוואַך קאָמפּיוטערס. עס וואָלט ויסקומען אַז יענע סעקונדעס וועט באַשליסן? אבער אויב איר האָבן צו שרייַבן אַ גרויס נומער פון שורות פון קאָד, און אויך לויפן עס אויף שוואַך קאָמפּיוטערס (וואָס זענען נאָך סאָלד, ווייַל מאָדערן אָפיס סוויץ דאַרפן אַ פּלאַץ פון באַראַן), איר קענען גאָר האַלטן די אַרבעט. עס זענען קאַסעס ווען קראַנק-קאַנסיווד שרייבן פון מאַקראָס געפֿירט צו די ייַז קאַלט פון סמאַרטבאָאָקס וואָס האָבן אַ קליין סומע פון ​​באַראַן און זענען נישט דיזיינד צו דורכפירן קאָמפּלעקס טאַסקס. 
  2. מיספּרינץ אין נעמען זענען ערלויבט, וואָס קענען זיין פּריווענטיד דורך ניצן די אָפּציע יקספּליסאַט ויסזאָגונג, וואָס אַלאַוז איר צו געפֿינען אַן אַנדיקלערייטיד בייַטעוודיק, אויב איינער איז געפֿונען. דאָס איז אַן גרינג וועג צו דעטעקט ערראָרס, ווייַל די מינדסטע טיפּ טעות איז אַז דער יבערזעצער קען נישט ידענטיפיצירן די בייַטעוודיק. און אויב איר קער אויף די בייַטעוודיק דעקלאַראַציע מאָדע, דער יבערזעצער וועט פשוט נישט לאָזן איר לויפן די מאַקראָו אויב דאַטן קאַנטיינערז זענען געפֿונען וואָס זענען נישט דערקלערט אין די אָנהייב פון די מאָדולע.
  3. ויסמיידן ערראָרס געפֿירט דורך וועריאַבאַל וואַלועס וואָס זענען נישט וואָס ריכטן די דאַטן טיפּ. נאָרמאַללי, אַסיינינג אַ טעקסט ווערט צו אַ ינטאַדזשער בייַטעוודיק וועט וואַרפן אַ טעות. יאָ, אויף די איין האַנט, אַ דזשאַנעריק טיפּ איז אַסיינד אָן אַ דעקלאַראַציע, אָבער אויב זיי זענען דערקלערט אין שטייַגן, ראַנדאָם ערראָרס קענען זיין אַוווידיד.

דעריבער, טראָץ אַלץ, עס איז העכסט רעקאַמענדיד צו דערקלערן אַלע וועריאַבאַלז אין עקססעל מאַקראָס.

עס איז נאָך איין זאַך צו האַלטן אין זינען ווען דיקלערינג וועריאַבאַלז. עס איז מעגלעך צו נישט באַשטימען קיין וואַלועס צו אַ בייַטעוודיק ווען דיקלערינג עס, אָבער אין דעם פאַל עס אַקווייערז אַ פעליקייַט ווערט. למשל:

  1. שורות זענען געמאכט ליידיק.
  2. די נומערן נעמען אויף די ווערט 0.
  3. וועריאַבאַלז פון טיפּ באָאָלעאַן זענען טכילעס געהאלטן פאַלש.
  4. די פעליקייַט טאָג איז 30 דעצעמבער 1899.

פֿאַר בייַשפּיל, איר טאָן ניט דאַרפֿן צו באַשטימען די ווערט 0 צו אַ ינטאַדזשער בייַטעוודיק אויב קיין ווערט איז פריער ספּעסיפיעד. זי אנטהאלט שוין דעם נומער.

אָפּציע יקספּליסאַט סטאַטעמענט

דער ויסזאָגונג אַלאַוז איר צו דערקלערן אַלע וועריאַבאַלז וואָס זענען געניצט אין די וובאַ קאָד און באַשטימען דעם בייַזייַן פון קיין ונדעקלערד קאַנטיינערז איידער די קאָד איז לויפן. צו נוצן דעם שטריך, פשוט שרייַבן אַ שורה פון אָפּציע יקספּליסאַט קאָד אין די שפּיץ פון די מאַקראָו קאָד.

אויב איר דאַרפֿן צו אַרייַננעמען דעם ויסזאָגונג אין דיין קאָד יעדער מאָל, איר קענען טאָן דאָס מיט אַ ספּעציעל באַשטעטיקן אין די VBA רעדאַקטאָר. צו געבן דעם אָפּציע, איר מוזן:

  1. גיין צו די אַנטוויקלונג סוויווע אויף דעם דרך - מכשירים> אָפּציעס.
  2. אין די פֿענצטער אַז אָפּענס נאָך דעם, עפענען די עדיטאָר קוויטל.
  3. און לעסאָף, טשעק די קעסטל ווייַטער צו די רעקווירע וואַריאַבלע דעקלאַראַציע נומער.

נאָך קאַמפּלישאַן פון די סטעפּס, גיט די "OK" קנעפּל. 

אַז ס עס, איצט ווען שרייבן יעדער נייַ מאַקראָו, די שורה וועט זיין ינסערטאַד אין די שפּיץ פון די קאָד אויטאָמאַטיש.

פאַרנעם פון קאַנסטאַנץ און וועריאַבאַלז

יעדער בייַטעוודיק אָדער קעסיידערדיק האט בלויז אַ לימיטעד פאַרנעם. עס דעפּענדס ווו איר דערקלערן עס.

רעכן מיר האָבן אַ פֿונקציע גאַנץ_קאָסט(), און עס ניצט די בייַטעוודיק sVAT_Rate. דעפּענדינג אויף די שטעלע אין די מאָדולע, עס וועט האָבן אַ אַנדערש פאַרנעם:

אָפּלייקענונג אָפּציע

דיק sVAT_Rate ווי איין

פֿונקציע גאַנץ_קאָסט () ווי טאָפּל

.

.

.

סוף פונקטיאָן

אויב אַ בייַטעוודיק איז דערקלערט אין די שפּיץ פון אַ מאָדולע זיך, עס פּראַפּאַגייץ איבער דעם מאָדולע. אַז איז, עס קענען זיין לייענען דורך יעדער פּראָצעדור.

דערצו, אויב איינער פון די פּראָוסידזשערז געביטן דעם ווערט פון די בייַטעוודיק, דער ווייַטער איינער וועט אויך לייענען דעם קערעקטאַד ווערט. אָבער אין אנדערע מאַדזשולז דעם בייַטעוודיק וועט נאָך נישט זיין לייענען.

אָפּלייקענונג אָפּציע

פֿונקציע גאַנץ_קאָסט () ווי טאָפּל

דיק sVAT_Rate ווי איין

   .

   .

   .

סוף פונקטיאָן

אין דעם פאַל, די בייַטעוודיק איז דערקלערט אין די פּראָצעדור, און דער יבערזעצער וועט וואַרפן אַ טעות אויב עס איז געניצט אין אן אנדער פּראָצעדור.

אויב איר ווילט אַז די בייַטעוודיק זאָל זיין לייענען דורך אנדערע מאַדזשולז, איר מוזן נוצן די פּובליק קיווערד אַנשטאָט פון די דיק קיווערד. סימילאַרלי, איר קענען באַגרענעצן די פאַרנעם פון אַ בייַטעוודיק צו בלויז די קראַנט מאָדולע דורך ניצן די פּובליק ויסזאָגונג, וואָס איז געשריבן אַנשטאָט פון די וואָרט Dim.

איר קענען שטעלן די פאַרנעם פון קאַנסטאַנץ אין אַ ענלעך וועג, אָבער די קיווערד דאָ איז געשריבן צוזאַמען מיט די קאָנסט אָפּעראַטאָר.

דאָ איז אַ טיש מיט אַ גוט בייַשפּיל פון ווי עס אַרבעט מיט קאַנסטאַנץ און וועריאַבאַלז.

אָפּלייקענונג אָפּציע

ציבור sVAT_Rate ווי איין

ציבור קאָנסט iMax_Count = 5000

אין דעם בייַשפּיל, איר קענען זען ווי די ציבור קיווערד איז געניצט צו דערקלערן אַ בייַטעוודיק, און וואָס איר דאַרפֿן צו שרייַבן אין די וויסואַל באַסיק רעדאַקטאָר צו דערקלערן אַ ציבור קעסיידערדיק. דער פאַרנעם פון די ווערט קאַנטיינערז אַפּלייז צו אַלע מאַדזשולז.
אָפּלייקענונג אָפּציע

פּריוואַט sVAT_Rate ווי איין

פּריוואַט קאָנסט iMax_Count = 5000

דאָ, וועריאַבאַלז און קאַנסטאַנץ זענען דערקלערט מיט די פּריוואַט קיווערד. דעם מיטל אַז זיי קענען זיין געזען בלויז אין דעם קראַנט מאָדולע, און פּראָוסידזשערז אין אנדערע מאַדזשולז קענען נישט נוצן זיי.

פארוואס קאַנסטאַנץ און וועריאַבאַלז זענען דארף

די נוצן פון קאַנסטאַנץ און וועריאַבאַלז אַלאַוז איר צו פאַרגרעסערן די גראַד פון פאַרשטיייק פון די קאָד. און אויב ביגינערז אין אַלגעמיין טאָן ניט האָבן פֿראגן וועגן וואָס וועריאַבאַלז זענען דארף, עס זענען פילע אַמביגיואַטיז וועגן די נויט פֿאַר קאַנסטאַנץ. און די קשיא מיינט, בייַ ערשטער בליק, גאַנץ לאַדזשיקאַל. נאָך אַלע, איר קענען דערקלערן אַ בייַטעוודיק אַמאָל און קיינמאָל טוישן עס ווידער.

דער ענטפֿער איז ערגעץ אין דער זעלביקער פלאַך ווי וועגן די נוצן פון דאַטן טייפּס וואָס פאַרנעמען אַ גרויס פּלאַץ אין זכּרון. אויב מיר האַנדלען מיט אַ ריזיק נומער פון וועריאַבאַלז, מיר קענען אַקסאַדענאַלי טוישן אַ יגזיסטינג קאַנטיינער. אויב דער באַניצער פּריסקרייבז אַז אַ זיכער ווערט וועט קיינמאָל טוישן, די סוויווע וועט אויטאָמאַטיש קאָנטראָלירן דעם.

דאָס איז ספּעציעל וויכטיק ווען די מאַקראָו איז געשריבן דורך עטלעכע פּראָוגראַמערז. איינער קען וויסן אַז עטלעכע וועריאַבאַלז זאָל נישט טוישן. און די אנדערע איז נישט. אויב איר ספּעציפיצירן די Const אָפּעראַטאָר, אן אנדער דעוועלאָפּער וועט וויסן אַז די ווערט טוט נישט טוישן.

אָדער, אויב עס איז אַ קעסיידערדיק מיט איין נאָמען, און די בייַטעוודיק האט אַ אַנדערש, אָבער ענלעך נאָמען. דער דעוועלאָפּער קענען פשוט צעמישן זיי. פֿאַר בייַשפּיל, איינער וועריאַבאַל וואָס טוט ניט דאַרפֿן צו זיין טשיינדזשד איז גערופֿן Variable11, און אנדערן וואָס קענען זיין עדיטיד איז גערופֿן Variable1. א מענטש קען אויטאָמאַטיש, ווען שרייבן קאָד, אַקסאַדענאַלי האָפּקען אַן עקסטרע אַפּאַראַט און נישט באַמערקן עס. ווי אַ רעזולטאַט, דער קאַנטיינער פֿאַר וואַלועס וועט זיין געביטן, וואָס זאָל ניט זיין גערירט.

אָדער דער דעוועלאָפּער זיך קען פאַרגעסן וואָס וועריאַבאַלז ער קענען אָנרירן און וואָס ער קען נישט. דעם אָפט כאַפּאַנז ווען די קאָד איז געשריבן פֿאַר עטלעכע וואָכן, און זייַן גרייס ווערט גרויס. אין דעם צייַט, עס איז זייער גרינג צו פאַרגעסן אפילו וואָס דאָס אָדער אַז בייַטעוודיק מיטל.

יאָ, איר קענען טאָן מיט באַמערקונגען אין דעם סיטואַציע, אָבער איז ניט גרינגער צו ספּעציפיצירן די וואָרט קאָנסט?

קאָנקלוסיאָנס

וועריאַבאַלז זענען אַ יקערדיק קאָמפּאָנענט פון מאַקראָו פּראָגראַממינג, וואָס אַלאַוז איר צו דורכפירן קאָמפּלעקס אַפּעריישאַנז, פֿון חשבונות צו ינפאָרמינג די באַניצער וועגן זיכער געשעענישן אָדער ספּעציפיצירן ספּעציפיש וואַלועס אין די סעלז פון אַ ספּרעדשיט.

קאַנסטאַנץ זאָל זיין געוויינט אויב די דעוועלאָפּער ווייסט פֿאַר זיכער אַז די אינהאַלט פון די קאַנטיינערז וועט נישט טוישן אין דער צוקונפֿט. עס איז רעקאַמענדיד נישט צו נוצן וועריאַבאַלז אַנשטאָט, ווייַל עס איז מעגלעך צו אַקסאַדענאַלי מאַכן אַ גרייַז.

לאָזן אַ ענטפֿערן