- ベストアンサー
VBAスクリプトの置換のことで
エクセルのVBAスクリプトのある文字を置換したいのですが。 内容としては、501~520までの数字を601~620に一括変換したいのです。 そのような機能がVBAエディターにあるでしょうか? 場合によっては他のソフトを用いてもけっこうです。 宜しくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 すいません、間違えました。 検索文字列に 5\f[0-2][0-9]\f 置換文字列に 6\1 と入れて、「正規表現」のチェックボックスをチェックして、 全置換してみてください。
その他の回答 (4)
- ribisi
- ベストアンサー率28% (247/864)
よかった。できましたか。 > 501~520 → 634~653 のような置換は無理 上記の場合ですと、文字列の置換ではなく、 一度、文字を数値に直して、133を加える、という操作になりますね。 こうなると、テキスト処理ではなくなりますので、 スクリプトを書く必要があります。 VBスクリプトでもいいですし、秀丸マクロでもできます。
お礼
>こうなると、テキスト処理ではなくなりますので、 >スクリプトを書く必要があります。 また改めて質問してみたいと思います。 ありがとうございました!!
- nishi6
- ベストアンサー率67% (869/1280)
置換えしたいセル範囲を選択して下のマクロを実行します。 こういう質問だったのでしょうか。 Sub Okikae501_520() Dim rg As Range For Each rg In Selection If 501 <= rg.Value And rg.Value <= 520 Then rg = rg + 100 End If Next End Sub
お礼
ありがとうございました。 >こういう質問だったのでしょうか。 違うみたいです(^^;
- ribisi
- ベストアンサー率28% (247/864)
もし秀丸エディタをお持ちでしたら、VBAスクリプトをコピーし、 検索文字列に 5\f[0-2]\f\f[0-9]\f 置換文字列に 6\0\1 と入れて、「正規表現」のチェックボックスをチェックして、 全置換してみてください。
お礼
ありがとうございました。 早速秀丸エディタをインストールして試してみました。 教えてもらった通りに実行してみると、以下の結果になりました。 501~520の数字が、 650 9個 651 10個 652 1個 でした。
- asaichi
- ベストアンサー率21% (37/171)
置換したい文字が他の文字と関係はないのでしょうか? 例えば501だったら「ITEM0501」という感じに…。 なければ、複数置換というエディタのあるので、やれば 良いと思います。 例えば、MIFESSにもその機能はあります。 VBAスクリプトはテキストファイルで保存されていない (EXCEL97の場合)ので、C&Pでやるしかありませんが…。 そうすれば、20回繰り返さなくても、数回の作業でで きます。
お礼
ありがとうございました。 >置換したい文字が他の文字と関係はないのでしょうか? 関係ないです。 MIFESを早速インストールして試してみました。 複数置換はできましたが連番置換はできないみたいです。 (置換前と後の文字を全て手入力する必要があるようです) それでもかなり手間は省けそうです。
お礼
ありがとうございました。 できました! 一つ質問してもいいでしょうか? 501~520 → 634~653 のような置換は無理ということでしょうか?