פונקציית Val VBA של Excel
פונקציית Val ב- vba מגיעה מתחת לפונקציות המחרוזות, היא גם פונקציה מובנית ב- VBA המשמשת לקבל את הערכים המספריים ממשתנה נתונים, נניח שאם למשתנה יש ערך כ- A10 אז פונקציית val תתן לנו 10 כפלט, זה לוקח מחרוזת כארגומנט ומחזיר את המספרים המצויים במחרוזת.
VAL מייצג VALUE במינוח VBA. פונקציה זו ממירה את המחרוזת המכילה מספרים למספר בפועל. לדוגמא, אם תספק את מחרוזת הטקסט "1234 גלובל" היא תחזיר רק את החלק המספרי כלומר 1234.
פעמים רבות, כאשר אנו מורידים או מקבלים את הנתונים ממספרי אינטרנט, הם בדרך כלל נשמרים כערכי טקסט בגיליון אלקטרוני. המרה של טקסט למספרים היא המשימה הקשה ביותר אם אינך מודע לפונקציה הנכונה ב- Excel. כפונקציה רגילה של גליון עבודה, יש לנו פונקציה בשם VALUE שתמיר את כל המחרוזות המייצגות מספרים למספרים מדויקים עם פונקציה פשוטה בגליון העבודה. במאמר זה נראה כיצד ניתן להשיג זאת ב- VBA באמצעות פונקציית VAL.
תחביר
יש לו רק טיעון אחד כלומר מחרוזת.
- מחרוזת: זה פשוט ערך מחרוזת שאנחנו מנסים להוציא ממנו את החלק המספרי.
לכן, פונקציית VAL ממירה את המחרוזת שסופקה לערך מספרי.
הערה: פונקציית VAL תמיד מתעלמת מתווי הרווח וממשיכה לקרוא את המספרים אחרי תו הרווח או התווים.לדוגמא, אם המחרוזת שסופקה היא "145 45 666 3" היא תתעלם מתווי הרווח ותחזיר את התוצאה כ" 145456663 ".
דוגמאות לפונקציית VAL ב- Excel VBA
אתה יכול להוריד תבנית Excel זו של פונקצית VBA Val כאן - תבנית Excel של VBA Valדוגמה מס '1
בואו ננסה את הדוגמה הראשונה עם מספר פשוט כלומר "14 56 47"
הקוד שלמטה הוא בשבילך.
קוד:
משנה Val_Example1 () עמום k כמשתנה k = Val ("14 56 47") 'המיר את האמור לעיל כ- 145647 MsgBox k סוף משנה
כאשר אתה מפעיל קוד VBA באמצעות מקש F5 או באופן ידני, הוא יחזיר את התוצאה כ- "145647" על ידי התעלמות מכל תווי הרווח כפי שמוצג בתמונה למטה.
דוגמה מס '2
בדוגמה זו נראה מה התוצאה של המחרוזת "+456".
קוד:
משנה Val_Example2 () עמום k כמשתנה k = Val ("+ 456") 'המיר את האמור לעיל כ- 456 MsgBox k סוף משנה
באפשרותך להפעיל קוד זה באופן ידני או באמצעות מקש F5 כדי להחזיר את הערך כ- 456 על ידי התעלמות מ- +456.
דוגמה מס '3
עכשיו בואו נסה את אותו מספר עם סימן שלילי.
קוד:
Sub Val_Example3 () Dim k As Variant k = Val ("- 456") 'המירו את האמור לעיל כ -456 MsgBox k End Sub
קוד זה יחזיר את הערך כ -456 רק מכיוון שיש להציג את המספר עם סימן המפעיל.
דוגמה מס '4
עכשיו בואו נסה את המחרוזת הזו "100 ק"ג".
קוד:
Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'מתעלם מק"ג ומחזיר רק 100 MsgBox k End Sub
אם אתה מריץ קוד זה באופן ידני או משתמש במקש F5 אז קוד זה לעיל מתעלם מ- "KG" ומחזיר רק "100" בתיבת ההודעה VBA.
דוגמה 5
כעת נסה את מחרוזת התאריכים כלומר "14-05-2018".
קוד:
Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'מחזיר 14 כתוצאה. MsgBox k סוף משנה
הקוד שלמעלה מחזיר 14 כתוצאה מכיוון שפונקציית VAL יכולה להביא רק את הערך המספרי עד שתמצא תו מספרי אחר.
דוגמה מס '6
כעת נסה את המחרוזת "7459 Good456".
קוד:
משנה Val_Example6 () עמום k כמשתנה k = Val ("7459 טוב 456") 'מחזיר 7459 כתוצאה מכך. MsgBox k סוף משנה
זה יחלץ את המספרים עד שימצא את התו הלא-מספרי, כלומר התוצאה היא 7459. למרות שיש ערכים מספריים אחרי הערך הלא-מספרי "טוב", זה מתעלם לחלוטין מספרים לאחר מכן.
דוגמה מס '7
כעת נסה את ערך המחרוזת "H 12456".
קוד:
Sub Val_Example7 () Dim k As Variant k = Val ("H 12456") 'מחזיר 0 כתוצאה. MsgBox k סוף משנה
הפעל את הקוד שלעיל באמצעות מקש הקיצור F5 או באופן ידני ואז הוא מחזיר את התוצאה כאפס. מכיוון שהתו הראשון של המחרוזת שסיפקנו הוא תו שאינו מספרי כך, התוצאה היא אפס.
דוגמה מס '8
עכשיו נסה את המחרוזת הזו “24545. 2 ”.
קוד:
משנה Val_Example8 () עמום k כמשתנה k = Val ("24545. 2") 'מחזיר 24545.2 כתוצאה. MsgBox k סוף משנה
הקוד מחזיר את התוצאה כ- 24545.2 מכיוון שפונקציית VBA VAL מחשיבה את נקודת התו (.) כתו העשרוני ומחזירה את התוצאה בהתאם.