例をみると連続した複数文字列を対象にするようにも思えますが、
一文字単位でも重複していれば削除するという仕様であれば、
mayuさんのコードでいいでしょう。
単純に下記でも同様の結果になります。
Function RemoveDuplicates(ByVal argA As Variant, ByVal argB As Variant) As Variant
RemoveDuplicates = argB
If argA <> "" And argB <> "" Then
Dim i As Long
For i = 1 To Len(argA)
RemoveDuplicates = Replace(RemoveDuplicates, Mid(argA, i, 1), "")
Next i
End If
End Function
通報 ...
mayuさんの上記の定義を仕様とする場合は下記のコードでもよさそう。
hatenaさんのコード、シンプルで素敵ですね
RemoveDuplicatesX 関数の内側ループ、終了の数値を 1 だけ足せば更に完璧かもです
mayuさん、バグのご指摘ありがとうございます。
理由も含めてのていねいな解説、納得です。