- ベストアンサー
Excel マクロで 特定文字列を一括置換
VB初心者です。 例えばExcel「商品」シートのA列に型式のデータがあって、マクロを使ってすべて次の条件で置換えしたい場合どのようなコードになるのかご教授お願いします。 1) 行頭の「0-」を削除 2)「半角数字」,「-(ハイフン)」,「改行」以外を削除
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> もうひとつ教えてください。B列の52行からB列の151行まで変換したい場合はどこを変更すればよろしいでしょうか? 値を取り出したり入れたりしている箇所を変更するだけです。 コード中のCells(i, 1) が、シートのi行、1列を示しています。 現在のコードでは、For i = 1 To 10 で、変数iに1~10までの数値を順番に入れています。これで、A1~A10を指定している訳です。 ここをB列の52行からB列の151行を指定するように変更してください。
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
正規表現を使ってこんな感じかなぁ……。 A1:A10までを対象にしてます。 Sub Sample() Dim RE, i Set RE = CreateObject("VBScript.RegExp") With RE .Global = True .Pattern = "^0-|[^0-9\n-]" For i = 1 To 10 If Cells(i, 1) <> "" Then Cells(i, 1) = "'" & .Replace(Cells(i, 1).Value, "") End If Next i End With Set RE = Nothing End Sub
補足
ご回答ありがとうございます。応用を模索していたため回答が遅れて申し訳ありません。 A1:A10までを対象にした場合、うまくいきました。 もうひとつ教えてください。B列の52行からB列の151行まで変換したい場合はどこを変更すればよろしいでしょうか?
お礼
できました。感激です。今後もっと勉強します。ありがとうございました。