44、[VBA入門到放棄筆記] 字典聯(lián)合數(shù)據(jù)(Textjoin)

1
Sub cdsr()
    Dim d, ar
    Set d = CreateObject("Scripting.Dictionary")
    ar = [a1].CurrentRegion'數(shù)組賦值
    For i = 2 To UBound(ar)'遍歷數(shù)組
        If Not d.exists(ar(i, 1)) Then'如果字典里不存在
            d(ar(i, 1)) = ar(i, 2)'放進(jìn)字典
        Else'如果存在,用逗號(hào)鏈接起來
                d(ar(i, 1)) = d(ar(i, 1)) & "," & ar(i, 2)
        End If
    Next
'輸出字典數(shù)據(jù)
   [d2].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items))
End Sub
沒去重結(jié)果
  • 上面的代碼是沒有去重復(fù)的。
Sub cdsr()
    Dim d, ar
    Set d = CreateObject("Scripting.Dictionary")
    ar = [a1].CurrentRegion
    For i = 2 To UBound(ar)
        If Not d.exists(ar(i, 1)) Then
            d(ar(i, 1)) = ar(i, 2)
        Else
'判斷姓名是否重復(fù),不重復(fù)就用逗號(hào)連接起來,instr函數(shù)用法自行百度
            If InStr(d(ar(i, 1)), ar(i, 2)) = 0 Then
                d(ar(i, 1)) = d(ar(i, 1)) & "," & ar(i, 2)
            End If
        End If
    Next
    [d2].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items))
End Sub
最終結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容