プロが教えるわが家の防犯対策術!

Windows 7 の Excel 2013 を使用しています。

例として以下のA1からA3セル内文字
abcabcef
aaabbbeee
xabababy

がB1からB3セル内文字
abcef
abe
xaby

のように重複する文字を削除しその他を残すような変換はどうしたら良いのでしょうか?

対象変換数は1000件くらいはあります。

関数やマクロがわからない初心者です。
よろしくお願いいたします。

A 回答 (2件)

簡単なユーザ関数を作ってみました。


標準モジュールに以下のコードを入れて、B1セルに =fSample(A1) の様に
設定してください。

Function fSample(sStr1 As String) As String
  Do
    sOne = Left(sStr1, 1)
    sStr2 = sStr2 & sOne
    sStr1 = Replace(sStr1, sOne, "")
  Loop While sStr1 <> ""
  fSample = sStr2
End Function
    • good
    • 0
この回答へのお礼

たいへん迅速なご回答をありがとうございました。
問題なく実行できました。
ベストアンサーとさせていただきました。
今後ともよろしくお願いいたします。

お礼日時:2014/05/29 15:50

こんにちは!


一例です。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
Dim i As Long, k As Long, str As String, buf As String
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
For k = 1 To Len(Cells(i, "A"))
str = Mid(Cells(i, "A"), k, 1)
If InStr(buf, str) = 0 Then
buf = buf & str
End If
Next k
Cells(i, "B") = buf
buf = ""
Next i
End Sub 'この行まで

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

迅速なご回答をありがとうございました。
実行方法の詳細もありがとうございます。
問題なく実行できました。
申し訳ありませんが、回答が早かった方をベストアンサーとしました。
今後ともよろしくお願いいたします。

お礼日時:2014/05/29 15:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!