วิธีเชื่อมต่อสตริงและตัวแปรใน Excel VBA (การวิเคราะห์โดยละเอียด)

  • แบ่งปันสิ่งนี้
Hugh West

ในขณะที่ทำงานกับ VBA ใน Excel เรามักจะต้องเชื่อมต่อสตริง (s) และตัวแปร (s) ในแผ่นงาน การเชื่อมสตริงและตัวแปรมีการใช้กันอย่างแพร่หลายในเกือบทุกภาคส่วนของงานของเรา เริ่มตั้งแต่การสรุปผลของนักเรียนไปจนถึงการวิเคราะห์ธุรกิจที่ซับซ้อน ในบทความนี้ ฉันจะแสดงวิธีเชื่อมต่อสตริงและตัวแปรในเวิร์กชีตด้วย VBA ใน Excel ฉันจะอธิบายสิ่งต่าง ๆ ด้วยตัวอย่างและภาพประกอบที่เหมาะสม

เชื่อมต่อสตริง (s) และตัวแปร (s) ใน Excel VBA (Quick View)

ดาวน์โหลดสมุดงานแบบฝึกหัด

ดาวน์โหลดแบบฝึกหัดแบบฝึกหัดนี้เพื่อทำแบบฝึกหัดขณะที่คุณกำลังอ่านบทความนี้

Concatenate String and Variable.xlsm

เชื่อมสตริง (s) และตัวแปร (s) ใน Excel VBA (วิเคราะห์ทีละขั้นตอน)

ก่อนอื่น เรามาดูกันว่าเราจะเชื่อมสตริงได้อย่างไร และตัวแปร (s) ใน VBA ทีละขั้นตอน

⧪ Concatenating String (s):

To concatenate two or more strings in VBA คุณสามารถใช้ทั้งสัญลักษณ์เลขคณิต การบวก (+) และสัญลักษณ์ แอมเปอร์แซนด์ (& )

ตัวอย่างเช่น เมื่อต้องการเชื่อม สตริง “ความคาดหวังอันยิ่งใหญ่” และ “เรื่องราวของสองเมือง” โดยใส่ ลูกน้ำ คุณสามารถใช้:

7094

หรือ

9060

เรียกใช้โค้ดใดๆ ข้างต้น มันจะแสดงเอาต์พุตที่ต่อกัน ความคาดหวังที่ยอดเยี่ยมเรื่องราวของสองเมือง .

⧪ การเชื่อมตัวแปร (s)

หากตัวแปรทั้งหมดมีค่าสตริง จากนั้นคุณสามารถใช้ทั้งสัญลักษณ์เลขคณิต การบวก (+) และสัญลักษณ์ แอมเปอร์แซนด์ (&)

แต่ถ้าไม่มี คุณสามารถใช้ เฉพาะสัญลักษณ์ เครื่องหมายและ (&) ที่จะเชื่อมกัน

ตัวอย่างเช่น สมมติให้มีตัวแปรสองตัว A และ B .

A มีสตริง “A Tale of Two Cities” และ B มีสตริงอื่น “The Fourty Rules of Love” .

คุณสามารถใช้ทั้งสัญลักษณ์ การบวก (+) และ เครื่องหมายและ (&) เพื่อเชื่อมเข้าด้วยกัน

2984

หรือ

4033

ในทั้งสองกรณี พวกเขาจะส่งคืนสตริงที่ต่อกัน

แต่ถ้า A เป็นสตริง ( “ A Tale of Two Cities” ) และ B เป็นจำนวนเต็ม ( 27 ) คุณต้องใช้สัญลักษณ์ เครื่องหมายแอมเปอร์แซนด์ (&) เพื่อเชื่อมข้อมูล

3077

ระบบจะส่งคืนเอาต์พุตที่ต่อกัน .

ตัวอย่าง Concat ระบุสตริงและตัวแปรใน Excel VBA (เกี่ยวข้องกับมาโคร, UDF และฟอร์มผู้ใช้)

เราได้เรียนรู้วิธีเชื่อมสตริงและตัวแปรด้วย VBA ใน Excel . ครั้งนี้เราจะมาสำรวจตัวอย่างบางส่วนที่เกี่ยวข้องกับการต่อสตริง (s) และตัวแปร (s) ด้วย VBA .

ตัวอย่างที่ 1: การพัฒนาแมโครเพื่อเชื่อมสตริง (s) และ ตัวแปร (s) ใน Excel VBA

เราได้เรียนรู้เชื่อมสตริงและตัวแปรด้วย VBA ครั้งนี้ เราจะพัฒนา มาโคร เพื่อเชื่อมสตริงและตัวแปรของหลายคอลัมน์ในแผ่นงาน

ที่นี่ เรามีชุดข้อมูลที่มี ชื่อหนังสือ ผู้เขียน และ ราคา ของหนังสือบางเล่มของร้านหนังสือชื่อ Martin Bookstore

มาพัฒนา มาโคร เพื่อเชื่อมคอลัมน์ 1, 2, และ 3 ของชุดข้อมูล B4:D14 ในเซลล์ F4 .

รหัส VBA จะเป็น:

⧭ รหัส VBA:

3892

⧭ เอาต์พุต :

เรียกใช้รหัสนี้ คุณจะได้คอลัมน์ 3 ที่ต่อกันในช่วง F4:F14

อ่านเพิ่มเติม: มาโครถึง เชื่อมหลายคอลัมน์ใน Excel (ด้วย UDF และ UserForm)

ตัวอย่างที่ 2: การสร้างฟังก์ชันที่ผู้ใช้กำหนดเพื่อเชื่อมสตริงและตัวแปรใน Excel VBA

เราได้เรียนรู้การพัฒนา มาโคร เพื่อเชื่อมต่อหลายคอลัมน์ของชุดข้อมูล ครั้งนี้ เราจะสร้าง ฟังก์ชันที่กำหนดโดยผู้ใช้ เพื่อเชื่อมต่อสตริงหรือตัวแปรใน Excel

โค้ด VBA ที่สมบูรณ์จะเป็น:

⧭ รหัส VBA:

2817

⧭ เอาต์พุต:

เลือกคอลัมน์ที่คุณต้องการเชื่อม range และป้อนสูตรนี้:

=ConcatenateValues("She","H. Rider Haggard",", ")

ผลลัพธ์จะคืนค่า She, H. Rider Haggard <3

ป้อนสูตรอีกครั้ง:

=ConcatenateValues(B4:B14,30,", ")

[ Array Formula ดังนั้นอย่าลืมกด CTRL + SHIFT + ENTER เว้นแต่คุณจะอยู่ใน Office 365 .]

จะเชื่อม 30 กับค่าทั้งหมดของช่วง B4:B14 .

สุดท้าย ให้ป้อน:

=ConcatenateValues(B4:B14,C4:C14,", ")

[อีกครั้ง สูตรอาร์เรย์ . ดังนั้นอย่าลืมกด CTRL + SHIFT + ENTER เว้นแต่คุณจะอยู่ใน Office 365 .]

จะเป็นการเชื่อมค่าทั้งหมดของช่วง B4: B14 กับ C4:C14 .

อ่านเพิ่มเติม: วิธีเชื่อมต่อใน Excel (3 วิธีที่เหมาะสม)

การอ่านที่คล้ายกัน:

  • วิธีรวมข้อความจากเซลล์สองเซลล์ขึ้นไปเป็นเซลล์เดียวใน Excel (5 วิธี)
  • รวมแถวเป็นเซลล์เดียวใน Excel
  • เชื่อมตัวเลขใน Excel (4 สูตรด่วน)
  • รวมข้อความ ใน Excel (8 วิธีที่เหมาะสม)
  • วิธีเชื่อม Apostrophe ใน Excel (6 วิธีง่ายๆ)

ตัวอย่างที่ 3: การพัฒนา UserForm เพื่อเชื่อมต่อสตริงและตัวแปรในแผ่นงานที่แตกต่างกันใน Excel VBA

เราได้เรียนรู้การพัฒนา มาโคร และ กำหนดโดยผู้ใช้ ฟังก์ชัน เพื่อเชื่อมสตริงและค่าเข้าด้วยกัน สุดท้าย เราจะพัฒนา ฟอร์มผู้ใช้ เพื่อเชื่อมสตริงและค่าเข้ากับตำแหน่งที่ต้องการของเวิร์กชีตที่ต้องการ

⧪ ขั้นตอนที่ 1: การแทรกฟอร์มผู้ใช้

ไปที่ แทรก > ตัวเลือก UserForm ในแถบเครื่องมือ VBA เพื่อแทรก UserForm ใหม่

⧪ ขั้นตอนที่ 2: การลาก เครื่องมือในการUserForm

A UserForm ที่เรียกว่า UserForm1 จะถูกเปิดพร้อมกับ Toolbox ที่เรียกว่า Control

เลื่อนเมาส์ไปเหนือ e Toolbox แล้วลาก 2 ListBoxes, 5 TextBoxes, 7 Labels และ 1 CommanButtons ใน UserForm

เปลี่ยนการแสดงผลของ Labels ดังแสดงในรูป

ในทำนองเดียวกัน เปลี่ยนการแสดงผลของ CommandButton เป็น OK .

⧪ ขั้นตอนที่ 3: การเขียนโค้ดสำหรับ TextBox1

ดับเบิลคลิกที่ TextBox1 ขั้นตอนย่อยส่วนตัว ที่เรียกว่า TextBox1_Change จะเปิดขึ้น ป้อนรหัสต่อไปนี้ที่นั่น

7845

⧪ ขั้นตอนที่ 4: การเขียนรหัสสำหรับ TextBox3

ในทำนองเดียวกัน ดับเบิลคลิกที่ กล่องข้อความ 3 . อีก ขั้นตอนย่อยส่วนตัว ที่เรียกว่า TextBox3_Change จะเปิดขึ้น ป้อนรหัสต่อไปนี้ที่นั่น

5773

⧪ ขั้นตอนที่ 5: การเขียนรหัสสำหรับ TextBox4

นอกจากนี้ ดับเบิลคลิกที่ กล่องข้อความ 3 . อีก ขั้นตอนย่อยส่วนตัว ที่เรียกว่า TextBox3_Change จะเปิดขึ้น ป้อนโค้ดต่อไปนี้

9310

⧪ ขั้นตอนที่ 6: การเขียนโค้ดสำหรับ ListBox2

จากนั้นดับเบิลคลิกที่ ListBox2 . เมื่อ Private Subprocedure ที่เรียกว่า ListBox2_Click เปิดขึ้น ให้ป้อนโค้ดนี้ที่นั่น

4091

⧪ ขั้นตอนที่ 7: การเขียนโค้ด สำหรับ CommanButton1

และดับเบิลคลิกที่ CommandButton1 หลังจาก ขั้นตอนย่อยส่วนตัว เรียกว่า CommandButton1_Change เปิดขึ้น ใส่โค้ดต่อไปนี้ที่นั่น

3783

⧪ ขั้นตอนที่ 7: เขียนโค้ดสำหรับเรียกใช้ UserForm

ตอนนี้ เป็นขั้นตอนสุดท้าย แทรก โมดูล ใหม่จากแถบเครื่องมือ VBA และแทรกโค้ดต่อไปนี้

7189

⧪ ขั้นตอนที่ 8: เรียกใช้ UserForm

ของคุณ UserForm พร้อมใช้งานแล้ว เมื่อต้องการเรียกใช้งาน ให้เลือกชุดข้อมูลจากเวิร์กชีต (รวมถึง ส่วนหัว ) และเรียกใช้ มาโคร ชื่อ Run_UserForm

ฟอร์มผู้ใช้ จะโหลดพร้อมกับตัวเลือกทั้งหมด ที่อยู่ช่วงที่เลือกจะแสดงใน TextBox1 ( B3:D4 ที่นี่) หากต้องการคุณสามารถเปลี่ยนได้ ช่วงที่เลือกในเวิร์กชีตจะเปลี่ยนไป

เลือกคอลัมน์ที่คุณต้องการเชื่อมต่อจาก คอลัมน์เพื่อเชื่อมต่อ กล่องรายการ ที่นี่ ฉันได้เลือก ชื่อหนังสือ และ ราคา

ป้อน ตัวคั่น ที่นี่ ฉันได้ป้อน เครื่องหมายจุลภาค ( , )

เลือกชื่อเวิร์กชีตที่คุณต้องการใส่ช่วงที่เชื่อมกันจาก เชื่อมเข้าด้วยกันใน กล่องรายการ ที่นี่ ฉันได้ป้อน Sheet3 .

(ทันทีที่คุณเลือกแผ่นงาน แผ่นงานจะเปิดใช้งาน แม้ว่าจะไม่ใช่แผ่นงานที่ใช้งานอยู่ก็ตาม)

จากนั้นใส่ ตำแหน่งเอาต์พุต เป็นการอ้างอิงเซลล์ของเซลล์แรกของช่วงที่ต่อกัน ที่นี่ฉันได้ใส่ B3 .

(ทันทีที่คุณป้อน ตำแหน่งเอาต์พุต ช่วงเอาต์พุตจะถูกเลือก)

และสุดท้าย , ป้อนชื่อของ ส่วนหัวของเอาต์พุต (ส่วนหัวของช่วงเอาต์พุต) ที่นี่ฉันได้ใส่ Concatenated Range .

(เมื่อคุณใส่ Output Header ส่วนหัวของคอลัมน์เอาต์พุตจะถูกตั้งค่า)

คลิก ตกลง คุณจะได้ผลลัพธ์ที่ต้องการในตำแหน่งที่ต้องการ

อ่านเพิ่มเติม: วิธีเชื่อมสตริงและจำนวนเต็มโดยใช้ VBA

บทสรุป

นี่คือตัวอย่างบางส่วนที่คุณสามารถใช้ Excel VBA เพื่อเชื่อมสตริงและตัวแปรเข้าด้วยกัน หวังว่าตัวอย่างจะทำให้ทุกอย่างชัดเจนสำหรับคุณ คุณมีคำถามใดๆ? อย่าลังเลที่จะถามเรา และอย่าลืมเยี่ยมชมเว็บไซต์ของเรา ExcelWIKI เพื่อดูโพสต์และอัปเดตเพิ่มเติม

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง