פונקציה ימנית של VBA (דוגמאות) | מדריך שלב אחר שלב ל- Excel VBA נכון

פונקציה נכונה ב- VBA Excel

פונקציה ימנית זהה לשני הפונקציות בגליון העבודה וגם ב- VBA, השימוש בפונקציה זו הוא שהיא נותנת לנו את המצע ממחרוזת נתונה אך החיפוש נעשה מימין לשמאל מהמחרוזת, זהו סוג של פונקציית מחרוזת ב- VBA משמש עם שיטת הפונקציה application.worksheet.

פונקציה RIGHT ב- Excel VBA המשמשת לחילוץ תווים מהצד הימני של ערכי הטקסט שסופקו. ב- Excel יש לנו פונקציות טקסט רבות להתמודד עם נתונים מבוססי טקסט. חלק מהפונקציות השימושיות הן LEN, LEFT, RIGHT, MID כדי לחלץ תווים מערכי הטקסט. הדוגמה הנפוצה לשימוש בפונקציות אלה היא חילוץ שם פרטי ושם משפחה בנפרד מהשם המלא.

הנוסחה RIGHT נמצאת גם בגליון העבודה. ב- VBA עלינו להסתמך על מחלקת פונקציות של גליון עבודה כדי לגשת לפונקציה VBA RIGHT אלא יש לנו את הפונקציה RIGHT המובנית גם ב- VBA.

עכשיו תסתכל על התחביר הבא של נוסחת VBA RIGHT.

  • מחרוזת: זהו הערך שלנו ומערך זה, אנו מנסים לחלץ את הדמויות מהצד הימני של המחרוזת.
  • אורך: מהמחרוזת המסופקת כמה תווים אנו זקוקים. אם אנו זקוקים לארבע תווים מצד ימין נוכל לספק את הטיעון כ -4.

לדוגמא, אם המחרוזת היא "טלפון נייד" ואם אנו רוצים לחלץ רק את המילה "טלפון" נוכל לספק את הטיעון כמו להלן.

מימין ("טלפון נייד", 5)

הסיבה שבגללה הזכרתי 5 מכיוון שבמילה "טלפון" יש 5 אותיות. בחלק הבא של המאמר נראה כיצד נוכל להשתמש בו ב- VBA.

דוגמאות לפונקציה נכונה של VBA ב- Excel

להלן דוגמאות ל- Right Function VBA Excel.

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

דוגמה מס '1

אראה לך דוגמה פשוטה להתחלת ההליכים. נניח שיש לך את המחרוזת "ניו יורק" ואם ברצונך לחלץ 3 תווים מימין בצע את השלבים הבאים כדי לכתוב את הקוד.

שלב 1: הכריז על המשתנה כמחרוזת VBA.

קוד:

 Sub Right_Example1 () Dim k כמו Subring End Subring 

שלב 2: עכשיו עבור משתנה זה, נקצה את הערך על ידי יישום הפונקציה RIGHT.

קוד:

 Sub Right_Example1 () עמום k כמחרוזת k = Right (Sub Sub 

שלב 3:  הטיעון הראשון הוא String והמחרוזת שלנו לדוגמא זו היא "ניו יורק".

קוד:

 Sub Right_Example1 () Dim k As String k = Right ("New York", End Sub 

שלב 4: הבא הוא כמה תווים שאנחנו צריכים מהמחרוזת שסופקה. בדוגמה זו, אנו זקוקים ל -3 תווים.

קוד:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) Sub Sub 

שלב 5: יש לנו שני טיעונים להתמודד, אז סיימנו. עכשיו הקצה את הערך של המשתנה הזה בתיבת ההודעות ב- VBA.

קוד:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 3) MsgBox k End Sub 

הפעל את הקוד באמצעות מקש F5 או באופן ידני וראה את התוצאה בתיבת הודעה.

במילה "ניו יורק" מצד ימין 3 תווים הם "אורק".

עכשיו אשנה את האורך מ -3 ל -4 כדי לקבל את הערך המלא.

קוד:

 Sub Right_Example1 () Dim k As String k = Right ("New York", 4) MsgBox k End Sub 

הפעל קוד זה באופן ידני או באמצעות מקש F5 ואז נקבל את "יורק".

דוגמה מס '2

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

אם תספק את האורך כ- 6 נקבל "קלארק" כתוצאה מכך.

קוד:

 Sub Right_Example1 () Dim k As String k = Right ("Michael Clarke", 6) MsgBox k End Sub 

הפעל קוד זה באמצעות מקש F5 או באופן ידני כדי לראות את התוצאה.

פונקציה ימנית דינמית ב- Excel VBA

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

In each of the string right-side characters are different in each case. We cannot refer to the length of the characters manually for each value differently. This where the other string function “Instr” plays a vital role.

Instr function returns the supplied character position in the supplied string value. For example, Instr (1,” Bangalore”,”a”) return the position of the letter “a” in the string “Bangalore” from the first (1) character.

In this case, the result is 2 because from the first character position of the letter “a” is the 2nd position.

If I change the starting position from 1 to 3 it will return 5.

Instr (3,” Bangalore”,”a”).

The reason why it returns 5 because I mentioned the starting position to look for the letter “a” only from the 3rd letter. So the position of the second appeared “a” is 5.

So, to find the space character of the of each string we can use this. Once we find the space character position we need to minus that from a total length of the string by using LEN.

For example in the string “New York” the total number of characters is 8 including space, and the position of the space character is 4th. So 8-4 = 4 right will extract 4 characters from the right.

Now, look at the below code for your reference.

Code:

 Sub Right_Example3() Dim k As String Dim L As String Dim S As String L = Len("Michael Clarke") S = InStr(1, "Michael Clarke", " ") k = Right("Michael Clarke", L - S) MsgBox k End Sub 

In the above code variable “L” will return 14 and variable “S” will return 8.

In the VBA right formula, I have applied L – S i.e. 14-8 = 6. So from right side 6 characters i.e. “Clarke”.

Loops with Right Function in Excel VBA

When we need to apply the VBA RIGHT function with many cells we need to include this inside the loops. For example, look at the below image.

We cannot apply many lines of the code to extract a string from the right side. So we need to include loops. The below code will do it for the above data.

Code:

 Sub Right_Example4() Dim k As String Dim L As String Dim S As String Dim a As Integer For a = 2 To 5 L = Len(Cells(a, 1).Value) S = InStr(1, Cells(a, 1).Value, " ") Cells(a, 2).Value = Right(Cells(a, 1), L - S) Next a End Sub 

The result of this code is as follows.