- ベストアンサー
Excel 2013 文字列内の文字重複削除
Windows 7 の Excel 2013 を使用しています。 例として以下のA1からA3セル内文字 abcabcef aaabbbeee xabababy がB1からB3セル内文字 abcef abe xaby のように重複する文字を削除しその他を残すような変換はどうしたら良いのでしょうか? 対象変換数は1000件くらいはあります。 関数やマクロがわからない初心者です。 よろしくお願いいたします。
- みんなの回答 (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
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 一例です。 画面左下の操作したい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
お礼
迅速なご回答をありがとうございました。 実行方法の詳細もありがとうございます。 問題なく実行できました。 申し訳ありませんが、回答が早かった方をベストアンサーとしました。 今後ともよろしくお願いいたします。
お礼
たいへん迅速なご回答をありがとうございました。 問題なく実行できました。 ベストアンサーとさせていただきました。 今後ともよろしくお願いいたします。