|
▼neptuneさん:
▼ウッシ さん:
アドバイスありがとうございました。
教えていただいた内容を2日かけて自分的に理解し、
やりたいことが出来ました。
本当にお世話になりました。
>こんにちは
>
>「最後のN10、N20を残して」という事は順番も重要なのでしょうか?
>「JOIN」だと順番が狂うようなので、文字連結で誤魔化すと、
>Sub test()
> Dim v As Variant
> Dim A As String
> Dim B As String
> Dim i As Long
> Dim m1Dic As Object
>
> A = "N10,N20,N50,N10,N100,N10,N20"
> v = Split(A, ",")
> If IsEmpty(v) Then Exit Sub
> Set m1Dic = CreateObject("Scripting.Dictionary")
> For i = UBound(v) To LBound(v) Step -1
> If Not IsEmpty(v(i)) Then
> If Not m1Dic.Exists(v(i)) Then
> B = v(i) & "," & B
> m1Dic(v(i)) = v(i)
> End If
> End If
> Next
> MsgBox Left(B, Len(B) - 1)
> Set m1Dic = Nothing
>End Sub
>
>「JOIN」版
>Sub test1()
> Dim v As Variant
> Dim A As String
> Dim B As String
> Dim i As Long
> Dim m1Dic As Object
> A = "N10,N20,N50,N10,N100,N10,N20"
> v = Split(A, ",")
> Set m1Dic = CreateObject("Scripting.Dictionary")
>
> For i = UBound(v) To LBound(v) Step -1
> m1Dic(v(i)) = v(i)
> Next
> MsgBox Join(m1Dic.items, ",")
> Set m1Dic = Nothing
>End Sub
|
|