ฉันมีฟังก์ชั่นนี้
Public Function CONCATENATESPECIAL(rng As Range) As String
Dim rng1 As Range
CONCATENATESPECIAL = ""
For Each rng1 In rng
If (Not Rows(rng1.Row).Hidden) And (rng1.Value <> "") Then
CONCATENATESPECIAL = CONCATENATESPECIAL & rng1.Text & "|"
End If
Next rng1
End Function
โดยทั่วไปจะเชื่อมค่าในบางช่วงด้วย "|"
สิ่งที่ฉันต้องการคือ - เป็นไปได้ไหมที่จะแก้ไขให้เป็น - ถ้ามีในบางช่วงค่าที่ซ้ำกันเพื่อรวมไว้เพียงครั้งเดียว? หากต้องการสรุป - เชื่อมค่าที่ไม่ซ้ำกันเท่านั้น
ขอบคุณล่วงหน้า
@ BruceWayne ปัญหาหนึ่งที่ฉันเห็นคือข้อมูลอาจเป็นซับสตริงของข้อมูลอื่น อีกทางเลือกหนึ่งจะบันทึกลงในอาร์เรย์ กรองว่าสำหรับค่าที่ไม่ซ้ำ และเข้าร่วมหลังจาก
—
gtwebb
INSTR()
เพื่อตรวจสอบว่า.value
มีอยู่แล้วในCONCATENATESPECIAL
ก่อนเพิ่มหรือไม่