หน้าเว็บ

วันเสาร์ที่ 31 ธันวาคม พ.ศ. 2554

ฟังก์ชันการเชื่อมข้อมูล

ปกติการเชื่อมข้อมูลเราสามารถใช้เครื่องหมาย & หรือฟังก์ชัน Concatenate มาช่วยได้ ยกตัวอย่างเช่น ต้องการเชื่อมข้อมูลที่อยู่ในช่วงเซลล์ A1:A5 เราสามารถเขียนสูตรได้ดังต่อไปนี้

  1. =A1&A2&A3&A4&A5
  2. =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

ไม่มีความคิดเห็น: