Visual Basic for Applications:
การต่อสตริง
วิธีการ:
VBA มีวิธีที่ง่ายดายในการต่อข้อความโดยใช้ตัวดำเนินการ &
หรือฟังก์ชัน Concatenate
มาดูทั้งสองวิธีพร้อมตัวอย่าง:
- การใช้ตัวดำเนินการ
&
:
ตัวดำเนินการ &
เป็นวิธีที่ทั่วไปที่สุดสำหรับการต่อข้อความใน VBA มันเรียบง่ายและมีประสิทธิภาพสำหรับการเชื่อมต่อข้อความหลายๆ อัน
Dim firstName As String
Dim lastName As String
firstName = "Jane"
lastName = "Doe"
' การต่อข้อความ
Dim fullName As String
fullName = firstName & " " & lastName
Debug.Print fullName 'ผลลัพธ์: Jane Doe
- การใช้ฟังก์ชัน
Concatenate
:
สลับกัน, VBA ยังช่วยให้สามารถต่อข้อความโดยการใช้ฟังก์ชัน Concatenate
, ซึ่งเป็นประโยชน์โดยเฉพาะเมื่อจัดการกับอาร์เรย์ของข้อความหรือเมื่อคุณต้องการไวยากรณ์ฟังก์ชัน
Dim greetings As String
Dim name As String
greetings = "Hello"
name = "John"
' การต่อข้อความโดยใช้ฟังก์ชัน Concatenate
Dim message As String
message = Application.WorksheetFunction.Concatenate(greetings, " ", name, "!")
Debug.Print message 'ผลลัพธ์: Hello John!
การเลือกระหว่างตัวดำเนินการ &
และฟังก์ชัน Concatenate
ขึ้นอยู่กับความชอบส่วนบุคคลและความต้องการเฉพาะของโปรเจ็กต์ของคุณ
ศึกษาลึกลงไป
การต่อข้อความเป็นคุณสมบัติพื้นฐานที่แต่ก็ทรงพลังใน VBA, ติดตามรากฐานมาจากภาษาโปรแกรมมิ่งรุ่นเก่าๆ การใช้งานตัวดำเนินการ &
ใน VBA สำหรับการต่อข้อความมากกว่าตัวดำเนินการ +
ที่ถูกใช้ในภาษาอื่นๆ มากมาย, เน้นย้ำถึงความเน้นของ VBA ในการจัดการข้อความอย่างชัดเจน, จึงหลีกเลี่ยงการไม่ตรงกันของประเภทข้อมูลโดยไม่ตั้งใจและความผิดพลาด
แม้ว่าตัวดำเนินการ &
จะมีประสิทธิภาพและถูกใช้กันอย่างแพร่หลาย, แต่ฟังก์ชัน Concatenate
ก็โดดเด่นในสถานการณ์ที่ต้องการความชัดเจนเพิ่มเติมหรือการจัดการกรณีการต่อข้อความพิเศษ, เช่น การจัดการกับอาร์เรย์ อย่างไรก็ตาม, สำคัญที่จะต้องทราบว่าเวอร์ชันล่าสุดของ Excel ได้แนะนำฟังก์ชัน TEXTJOIN
, ซึ่งอาจมีประสิทธิภาพมากกว่าสำหรับการต่ออาร์เรย์ของข้อความโดยใช้ตัวคั่น, แม้ว่าจะไม่ได้เป็นส่วนหนึ่งของ VBA โดยตรงก็ตาม
เมื่อจัดการกับการจัดการข้อความจำนวนมากหรือแอปพลิเคชันที่จำเป็นต้องพิจารณาประสิทธิภาพ, โปรแกรมเมอร์อาจสำรวจทางเลือกอื่นเช่นการใช้คลาส StringBuilder
ใน .NET (เข้าถึงได้ผ่าน COM ใน VBA) สิ่งนี้สามารถเพิ่มประสิทธิภาพได้อย่างมาก, โดยเฉพาะอย่างยิ่งในลูปหรือเมื่อต่อข้อความจำนวนมาก, เนื่องจากมีรูปแบบการใช้หน่วยความจำที่มีประสิทธิภาพมากขึ้น
ในท้ายที่สุด, การเลือกวิธีการที่เหมาะสมสำหรับการต่อข้อความใน VBA ขึ้นอยู่กับความต้องการเฉพาะของคุณ, การพิจารณาประสิทธิภาพ, และความสามารถในการอ่าน ไม่ว่าคุณจะเลือกใช้ความเรียบง่ายของตัวดำเนินการ &
หรือความสามารถของฟังก์ชัน Concatenate
, การเข้าใจผลกระทบและประสิทธิภาพของแต่ละวิธีเป็นสิ่งสำคัญสำหรับการจัดการข้อความที่มีประสิทธิภาพใน VBA