dポイントプレゼントキャンペーン実施中!

エクセルのVBAスクリプトのある文字を置換したいのですが。
内容としては、501~520までの数字を601~620に一括変換したいのです。
そのような機能がVBAエディターにあるでしょうか?
場合によっては他のソフトを用いてもけっこうです。
宜しくお願いします。

A 回答 (5件)

#2です。


すいません、間違えました。

検索文字列に

5\f[0-2][0-9]\f

置換文字列に

6\1

と入れて、「正規表現」のチェックボックスをチェックして、
全置換してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
できました!

一つ質問してもいいでしょうか?
501~520 → 634~653 のような置換は無理ということでしょうか?

お礼日時:2003/03/07 12:50

よかった。

できましたか。

> 501~520 → 634~653 のような置換は無理

上記の場合ですと、文字列の置換ではなく、
一度、文字を数値に直して、133を加える、という操作になりますね。
こうなると、テキスト処理ではなくなりますので、
スクリプトを書く必要があります。
VBスクリプトでもいいですし、秀丸マクロでもできます。
    • good
    • 0
この回答へのお礼

>こうなると、テキスト処理ではなくなりますので、
>スクリプトを書く必要があります。
また改めて質問してみたいと思います。

ありがとうございました!!

お礼日時:2003/03/07 13:08

置換えしたいセル範囲を選択して下のマクロを実行します。


こういう質問だったのでしょうか。


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
    • good
    • 0
この回答へのお礼

ありがとうございました。

>こういう質問だったのでしょうか。
違うみたいです(^^;

お礼日時:2003/03/07 12:05

もし秀丸エディタをお持ちでしたら、VBAスクリプトをコピーし、


検索文字列に

5\f[0-2]\f\f[0-9]\f

置換文字列に

6\0\1

と入れて、「正規表現」のチェックボックスをチェックして、
全置換してみてください。
    • good
    • 0
この回答へのお礼

ありがとうございました。
早速秀丸エディタをインストールして試してみました。
教えてもらった通りに実行してみると、以下の結果になりました。
501~520の数字が、
650  9個
651 10個
652  1個
でした。

お礼日時:2003/03/07 12:04

置換したい文字が他の文字と関係はないのでしょうか?


例えば501だったら「ITEM0501」という感じに…。
なければ、複数置換というエディタのあるので、やれば
良いと思います。
例えば、MIFESSにもその機能はあります。
VBAスクリプトはテキストファイルで保存されていない
(EXCEL97の場合)ので、C&Pでやるしかありませんが…。
そうすれば、20回繰り返さなくても、数回の作業でで
きます。
    • good
    • 0
この回答へのお礼

ありがとうございました。

>置換したい文字が他の文字と関係はないのでしょうか?
関係ないです。

MIFESを早速インストールして試してみました。
複数置換はできましたが連番置換はできないみたいです。
(置換前と後の文字を全て手入力する必要があるようです)
それでもかなり手間は省けそうです。

お礼日時:2003/03/07 11:52

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