สารบัญ
ในขณะที่ทำงานกับ 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 เพื่อดูโพสต์และอัปเดตเพิ่มเติม