VBA Asc | כיצד להשתמש בפונקציית Asc ב- Excel VBA? (קוד תו ASCII)

פונקציית Asc של Excel VBA

הפונקציה Asc ב- VBA משמשת להחזרת ערך שלם המייצג קוד תו המתאים לתו הראשון של מחרוזת שסופקה (מחרוזת המסופקת כארגומנט / פרמטר) לפונקציה. ניתן להשתמש בו או להינתן בקוד מאקרו המוזן בדרך כלל באמצעות Visual Basic Editor.

סביבת ה- Excel בה פועל המאקרו בעורך Visual Basic (VBE), שניתן להשתמש בו לעריכה וניקוי באגים של קודי המאקרו. הוא מחזיק את קוד המאקרו ומקשר אותו לחוברת העבודה של Excel.

ערך המספר השלם שהוחזר על ידי פונקציית Asc הוא קוד התו ASCII המתאים ב- VBA. ASCII (קוד סטנדרטי אמריקאי למחלף מידע) הוא קידוד תווים של 7 סיביות המוגדר בסך הכל 128 תווים כולל אלפביתים לטיניים, עשר ספרות ערביות, כמה סימני פיסוק ותווי שליטה. הוא אינו כולל תווים דיאקריטיים מכיוון שהם דורשים שטח מינימלי של 8 סיביות לקידוד. קידוד של 8 סיביות נעשה באמצעות ANSI (מכון התקנים הלאומי האמריקני) הכולל 256 תווים מוגדרים. ANSI נקרא גם ASCII מורחב.

תחביר של פונקצית VBA Asc

תחביר כללי לפונקציה ASC הוא כדלקמן:

תחביר הנוסחה של ASC מכיל את הטיעון הבא:

מחרוזת: חובה, מייצג את מחרוזת הטקסט שקוד התווים המקביל שלה של התו הראשון רצוי ויש להחזיר.

אם המחרוזת שסופקה מכילה תו אחד בלבד, ברור שהפונקציה מחזירה את קוד התו המספרי עבור אותה תו עצמו.

דוגמאות ל- Excel VBA Asc

הבה נראה בהמשך כיצד ניתן להשתמש ב- Asc ב- Excel VBA.

אתה יכול להוריד תבנית Excel זו של VBA Asc כאן - תבנית Excel של VBA Asc

דוגמה מס '1

נניח שיש לנו קובץ Excel המכיל כמה מחרוזות, ואנחנו רוצים להשתמש בפונקציית Asc עם מחרוזות אלה. הבה נראה את המחרוזות הכלולות בקובץ:

אנו משתמשים בפונקציה Asc ב- VBA במקרו שניתן לכתוב בעורך Visual Basic וניתן לגשת אליו באופן הבא:

עבור למפתח ואז לחץ על פקודות מאקרו:

כעת צור שם מאקרו: תחת 'שם מאקרו' כתוב שם של המאקרו שרוצים ליצור, ובחר PERSONAL.XLSB ברשימה הנפתחת 'מאקרו ב'. ניתן לאחסן את המאקרו בחוברת עבודה אישית שהיא חוברת עבודה נסתרת אשר נפתחת ברקע בכל פעם שמפעילים את Excel. בחירה ב- PERSONAL.XLSB תשמור את המאקרו בחוברת העבודה האישית ובכך הופכת את המאקרו לזמין תמיד מכיוון שחוברת העבודה האישית אינה ספציפית למערכת / לקובץ.

לחץ על 'צור'.

פעולה זו תפתח חלון עם הליך משנה VBA בעורך Visual Basic כדלקמן:

כעת, הגדירו את המשתנה תוצאה

קוד:

קוד משנה () תוצאה עמומה 1 משנה משנה

עכשיו הקצה למשתנה Result1 את הנוסחה להחזרת קוד התו של המחרוזת:

קוד:

קוד משנה () תוצאה עמומה 1 תוצאה 1 = Asc ("Raj") סוף משנה

כעת ניתן להציג ולהחזיר את הערך המתקבל של תוצאות 1 באמצעות תיבת הודעות VBA (MsgBox) כדלקמן:

קוד:

קוד משנה () עמום תוצאה 1 תוצאה 1 = Asc ("Raj") MsgBox תוצאה 1 משנה משנה

כעת כאשר אנו מריצים קוד זה באופן ידני על ידי לחיצה על 'הפעל' בחלקו העליון של החלון או על ידי לחיצה על F5, אנו מקבלים את קוד התו של האות הראשונה של המחרוזת: "Raj" מוצג בתיבת הודעות באופן הבא:

לכן, אנו יכולים לראות בצילום המסך שלמעלה כי בהפעלת המאקרו, '82' מוחזר בתיבת הודעה. זה מרמז שקוד התווים של 'R' הוא 82.

עכשיו, בואו נגיד בדוגמה שלעיל נרצה למצוא את קוד התווים של המחרוזת: "Karan". לשם כך, אנו מבצעים את אותם השלבים כמו לעיל.

בקוד במקום ראג 'נכתוב את קאראן כדי לקבל את קוד האופי שלו.

קוד:

 מחרוזת משנה 2 () תוצאה עמומה 2 תוצאה 2 = Asc ("Karan") MsgBox תוצאה 2 משנה משנה 

כעת אנו מריצים קוד זה באופן ידני או על ידי לחיצה על F5, ומקבלים את קוד התו של האות הראשונה של המחרוזת: "Karan" המוצג בתיבת הודעות באופן הבא:

לכן, אנו יכולים לראות בצילום המסך שלמעלה כי בהפעלת המאקרו, '75' מוחזר בתיבת הודעה. זה מרמז שקוד תווים עבור 'K' הוא 75.

בואו נראה כיצד התוצאה משתנה עבור המיתרים הנותרים:

קוד:

 מחרוזת משנה 3 () עמום תוצאה 2 תוצאה 2 = Asc ("היינה") MsgBox תוצאה 2 משנה משנה 

 מחרוזת משנה 4 () עמום תוצאה 2 תוצאה 2 = Asc ("Arun") MsgBox תוצאה 2 סוף משנה 

 מחרוזת משנה 5 () תוצאה עמומה 2 תוצאה 2 = Asc ("A") MsgBox תוצאה 2 משנה משנה 

 מחרוזת משנה 6 () עמום תוצאה 2 תוצאה 2 = Asc ("a") MsgBox תוצאה 2 משנה משנה 

בהפעלת תהליכי משנה זה אחד אחד, קודי התווים הבאים מוחזרים בתיבת ההודעות (אחד בכל פעם בהתאמה). זוהי רשימת הערכים המתאימים שהוחזרו עבור המחרוזות שלעיל.

לכן, כפי שממחיש צילום המסך לעיל, אנו יכולים לראות כי פונקציית ASC מחזירה את קוד התו כ- 65 עבור המחרוזת: "Arun", וגם עבור המחרוזת: "A". הסיבה לכך היא שקוד התווים שהוחזר הוא VBA ASCII או קוד תווים שווה ערך לאות הראשונה של המחרוזת במקרה שהמחרוזת היא יותר מתו אחד. לפיכך, 65 מוחזר לשניהם כתו הראשוני או הראשון של המחרוזת: "ארון" הוא גם 'A'.

דוגמה מס '2

אם המחרוזת המסופקת כפרמטר / ארגומנט לפונקציה VBA ASC היא מחרוזת ריקה / ריקה (או מחרוזת ללא תווים), הפונקציה מחזירה שגיאת זמן ריצה.

הקוד הבא מסביר את אותו הדבר.

 תת ריק () תוצאת התוצאה העמומה = Asc ("") MsgBox (תוצאה) סיום המשנה 

כאשר אנו מריצים קוד זה, אנו מקבלים את שגיאת זמן הריצה כדלקמן.

לכן אנו יכולים לראות בצילום המסך שלמעלה שכאשר המחרוזת המסופקת כפרמטר או ארגומנט לפונקציית ASC ריקה / ריקה, אז הפונקציה מחזירה שגיאת זמן ריצה.

דברים שיש לזכור

  • המחרוזת המסופקת לפונקציית VBA ASC יכולה להיות כל ביטוי מחרוזת תקף.
  • פונקציית Asc רגישה לאותיות רישיות.
  • הערך השלם המוחזר על ידי פונקציית Asc הוא בטווח של 0-255.
  • קודי ASCII ב- VBA עבור AZ הם 65-90, ו- az הם 97-122.
  • השם שניתן למקרו או תת-הליך אינו יכול להיות שם של פונקציית ברירת מחדל כלשהי ב- VBA. אם נקרא כך, אז בהליך המשנה תופיע שגיאה.