ปกติการเชื่อมข้อมูลเราสามารถใช้เครื่องหมาย & หรือฟังก์ชัน Concatenate มาช่วยได้ ยกตัวอย่างเช่น ต้องการเชื่อมข้อมูลที่อยู่ในช่วงเซลล์ A1:A5 เราสามารถเขียนสูตรได้ดังต่อไปนี้
- =A1&A2&A3&A4&A5
- =Concatenate(A1,A2,A3,A4,A5)
กรณีที่มีเซลล์จำนวนมากหากจะต้องเชื่อมกันในลักษณะนี้จะเกิดความไม่สะดวก ผมจึงเขียนเป็น Function VBA สำหรับการใช้งานดังกล่าวชื่อว่า Mconc โดยสามารถกำหนดตัวคั่นข้อความได้ด้วย ยกตัวอย่างเช่นหากต้องการเชื่อมข้อความในช่วงเซลล์ A1:A5 แล้วให้แสดงเครื่องหมาย / คั่นระหว่างข้อความ สามารถใช้สูตรได้ดังนี้
=Mconc(A1:A5,"/")
ซึ่งเทียบเท่ากับ
=A1&"/"&A2&"/"&A3&"/"&A4&"/"&A5
โดย Code VBA ของฟังก์ชั่น Mconc เป็นตามด้านล่างครับ
Function MCONC$(range As range, Optional s As String)
Dim r As range
Dim i As Integer
Dim a() As Variant
For Each r In range
If r <> "" Then
i = i + 1
ReDim Preserve a(i - 1)
a(i - 1) = r
End If
Next r
MCONC = Join(a, s)
End Function
Revised: January 29, 2017 at 07:31