แม้ Excel จะมีฟังก์ชั่นสำหรับการใช้งานมากมาย ซึ่ง ณ ปัจจุบันรวม ๆ แล้วเกิน 4 ร้อยฟังก์ชั่น แต่ก็ยังไม่เพียงพอแก่การใช้ในบางงาน หรือบางฟังก์ชั่นเริ่มนำมาใช้ใน Version ใหม่ ๆ ทำให้ผู้ใช้งาน Excel Version เก่า ๆ ต้องเขียนฟังก์ชั่นขึ้นมาใช้เองเพื่อให้สะดวกต่อการทำงาน ?
Video ด้านล่างนี้สาธิตการเขียนฟังก์ชั่นขึ้นมาใช้เองด้วย VBA เป็นการนำข้อความมาเชื่อมต่อกันคั่นด้วยอักขระที่ผู้ใช้งานสามารถกำหนดได้เอง หรือหากผู้ใช้งานไม่กำหนดอักขระที่จะใช้ในการเชื่อมข้อความ โปรแกรมก็จะเชื่อมข้อความเข้าด้วยกันโดยคั่นด้วยอักขระตั้งต้นที่กำหนดไว้ โดยมีตัวอย่าง Code ตามด้านล่างครับ
Function JoinString(rng As Range, Optional t As String = ",") Dim r As Range, x As String For Each r In rng If r.Value <> "" Then x = x & t & r.Value End If Next r JoinString = Mid(x, 2) End Function
เราสามารถนำฟังก์ชั่นนี้ไปใช้ใน Worksheet ด้วยการเขียนฟังก์ชั่นและอักขระที่จะใช้เชื่อมเป็นเช่น
=JoinString(A1:B10,”@”)
เป็นการเชื่อม A1:B10 ที่ไม่เป็นเซลล์ว่างเข้าด้วยกันโดยคั่นด้วยเครื่องหมาย @
📹 Video แสดงการเขียนฟังก์ชันเชื่อมข้อความ
🧭 Timeline หัวข้อหลัก
- 00:00:13 แนะนำวัตถุประสงค์: เขียนฟังก์ชันเชื่อมข้อความด้วย VBA
- 00:00:40 สาธิตการเปิด VBE และสร้าง Module ใหม่
- 00:01:10 เขียนฟังก์ชัน JoinText โดยรับค่าจาก Range
- 00:01:45 ใช้การวนลูปเพื่อรวมข้อความจากแต่ละเซลล์
- 00:02:20 เพิ่มตัวคั่นระหว่างข้อความ เช่น comma หรือ space
- 00:03:10 ทดสอบฟังก์ชันกับข้อมูลจริงในแผ่นงาน
- 00:04:10 สรุป: ได้ฟังก์ชันที่เชื่อมข้อความได้อย่างยืดหยุ่นและนำไปใช้ซ้ำได้