שרשור VBA | כיצד לשרשר מחרוזות יחדיו ב- VBA?

שרשור פירושו צירוף של שני ערכים או שני מחרוזות יחד, בדומה ל- Excel שאנו משתמשים בו או הידוע גם כמפעיל אמפרסנד לשרשור, שני שרשור של שני מחרוזות בהם אנו משתמשים ומפעיל כמו מחרוזת 1 ומחרוזת 2, עכשיו יש דבר חשוב לזכור וזה כאשר אנו משתמשים באופרטור & אנו זקוקים לספק רווחים, או שה- VBA יחשב כארוך.

מחרוזות שרשור VBA

שרשור VBA הוא אחד מאותם דברים שהשתמשנו בשילוב של שני ערכי תאי ערך יחד או יותר אם אני אומר בשפה פשוטה שהוא משלב, הוא מחבר שני ערכים או יותר יחד כדי שיהיה להם ערך מלא.

יש לנו פונקציה הנקראת CONCATENATE ב- excel שתעשה את השילוב יחד שני ערכים או יותר או שניים או יותר ערכי תאים יחד.

אבל ב- VBA אין לנו שום פונקציה מובנית לשרשרת שני ערכים או יותר יחד. למעשה, אנחנו אפילו לא מגיעים לגישה למחלקת הפונקציות של גליון העבודה כדי לגשת לפונקציה VBA CONCATENATE כפונקציה של גליון עבודה.

כיצד לשרשר מחרוזות ב- VBA?

אם אין לנו שום פונקציה מובנית לשרשרת ערכים ופונקציה של גליון עבודה אינה משולבת ב- VBA. כעת האתגר הוא כיצד אנו משלבים ערכים?

למרות שאין פונקציות מובנות עדיין אנו יכולים לשלב ב- VBA באמצעות סמל "אמפרסנד" (&).

אם אתה עוקב אחר ההודעות שלנו באופן קבוע, אנו משתמשים לעתים קרובות בסמל האות-סימן (&) בקידוד שלנו.

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

שלב 1: עבור אל עורך Visual Basic וצור הליך משנה של VBA.

שלב 2: הגדר שלושה משתנים כמחרוזת .

קוד:

 תת קונקטן_דוגמה () עמעום שם ראשון כמחרוזת עמעום שם אחר כמחרוזת עמעום מלא שלם כמחרוזת משנה משנה 

שלב 3: כעת הקצה את המשתנה ואת שם המשפחה למשתנה.

קוד:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Sub Sub 

שלב 4: כעת שלב את שני השמות האלה למשתנה Full_Name באמצעות משתנה אמפרסנד.

קוד:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First Name & Last_Name Sub Sub End 

שלב 5: כעת הראה את ערך המשתנה Full_Name בתיבת ההודעות.

קוד:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name MsgBox Full_Name Sub Sub End 

כעת הפעל את הקוד שנקבל את השם המלא בתיבת ההודעות.

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

קוד:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & "" & Last_Name MsgBox Full_Name Sub Sub End 

זה ייתן שם מלא ראוי עכשיו.

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

מכיוון שעלינו לשלב שמות רבים עלינו להשתמש בלולאות כדי לשלב בין שם פרטי ושם משפחה. הקוד שלמטה יעשה את העבודה בשבילך.

קוד:

 Sub Concatenate_Example1 () התעמעם בתור שלם עבור i = 2 עד 9 תאים (i, 3). ערך = תאים (i, 1) & "" ותאים (i, 2) הבא i סוף משנה 

זה ישלב את השם הפרטי ואת שם המשפחה בדיוק כמו פונקציית השרשור שלנו ב- VBA.

טעות נפוצה בשרשור VBA Ampersand

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

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

שרשור VBA באמצעות פונקציית JOIN

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

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

הקוד שלהלן יציג את הדוגמה של אותו דבר.

קוד:

 Sub Concatenate_Example2() Dim MyValues As Variant Dim Full_Name As String MyValues = Array("Sachin", "Tendulkar") Full_Name = Join(MyValues, " ") MsgBox Full_Name End Sub