用EXCEL VBA 合併內有重複的字串

為了要做GO的基因分類,最近像是古代貞女一般,每天在挑基因,把重複的挑出來,一個一個挑實在很煩,所以上午花了一點時間用VBA寫了一個function,可以自己去掉重複的gene, 用Excel 作也是很快。把他放上來,給自己參考,有需要的人也可以拿去用。

你只要用EXCEL選定你要合併的區域(例如A1:A3),用 =Mergelist( A1:A3), 他就會以”|”為分隔,除去重複的項目,以字串傳回你要的結果。如果你的分隔符號不是"|", 可以去改 split(...)的那一行就好了。

Function MergeList(R1 As Range) As String
Dim i As Long
Dim e1 As String
Dim b As Variant
e1 = ""
For Each cell In R1
 b = Split(cell, "|")
    For i = 0 To UBound(b)
        If InStr(1, e1, b(i)) = 0 Then e1 = e1 + "," + b(i)
    Next
Next
Mergelist = Replace(e1, ",", "", 1, 1)

End Function

這一小段真是雕蟲小計,不是拿來現寶的,只是想也許有人不會寫,而且也給自己做個筆記!合用的話請拿去用,如果嫌寫得太爛,請忍著不要笑喔!
##ReadMore##

留言