- ベストアンサー
エクセルVBAで特定の文字を削除したい
選択しているセルの中に入っている文字「■」を 削除したいのですがうまくいきません。 お願いいたします。 Sub ■削除() Dim myRange As Range Dim keyWord1 As String, keyWord2 As String Dim bool As Boolean Set myRange = ActiveCell keyWord1 = "■" keyWord2 = "" bool = myRange.Replace(keyWord1, keyWord2, LookAt:=xlWhole) End Sub
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17070)
Replace利用を、あきらめるつもりはないだろうが、 Basic言語以前からある方法で、下記でもやれるよ。 ーー A列にデータあるとする。B列に結果を置く。 aa▢■sdf aa▢sdf 大きな池■ 大きな池 ■遠い場所 遠い場所 1234■うぇrt 1234うぇrt ■遠い場所■ 遠い場所 ーーー 標準モジュールに Sub test01() For i = 2 To Range("a1000").End(xlUp).Row s = Cells(i, "A") p1: p = InStr(s, "■") If p = 0 Then Cells(i, "B") = s GoTo p2 Else s = Mid(s, 1, p - 1) & Mid(s, p + 1, Len(s) - p) End If GoTo p1 p2: Next i End Sub 1セルに2個以上出現分も、削除するようにした テストデータ数が少ないので、いろいろのデータでテストする必要があるが。
お礼
ありがとうございました。 問題を解決することができました。 感謝いたします。
- kkkkkm
- ベストアンサー率66% (1742/2617)
bool = myRange.Replace(keyWord1, keyWord2, LookAt:=xlWhole) を bool = myRange.Replace(keyWord1, keyWord2, LookAt:=xlPart) に変更して試してみてください。 なお、LookAt:=xlPartは省略可能です。
お礼
ありがとうございました。 問題を解決することができました。 感謝いたします。
- m3_maki
- ベストアンサー率64% (296/460)
Sub ■削除() ActiveCell = Replace(ActiveCell, "■", "") End Sub
お礼
ありがとうございました。 問題を解決することができました。 感謝いたします。
お礼
早々にありがとうございます。 解決することができました。 これで作業がしやすくなります。