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



ปกติการเชื่อมข้อมูลเราสามารถใช้เครื่องหมาย & หรือฟังก์ชัน 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

Revised: January 29, 2017 at 07:31

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top