プロが教えるわが家の防犯対策術!

エクセルVBAの置換のことです。

("abc 2rme3xk5")  を  ("abc N")  のように置換させるにはどうすればいいでしょうか?
Nは変数です。 ( )  や " も対象です。

以下のようにやってみましたがダメでした。

Rng.Value = Replace(Rng.Value,"abc*""","abc " & N & """")

A 回答 (5件)

Rng.Value = Replace(Rng.Value, "(""abc 2rme3xk5"")", "(""abc " & N & """)")



です。
    • good
    • 0
この回答へのお礼

昨日に続いて、ありがとうございます!!
うまくいきました。
2rme3xk5 を * でも大丈夫でした。

お礼日時:2003/03/13 10:00

任意の位置のabcを求めるなら



  MID(D4,FIND("abc",D4,1),3)
の様にして abcの位置を切り出してから処理をすると良いと思います

  MID(D4,FIND("abc",D4,1),3) & " " & N

D4に対象の文字列を入れます

と言う感じに成ると思います
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2003/03/13 11:55

#2で答えたのですが、質問の意味取り違えているようで・・・



ただ単純に 2rme3xk5 を 変数N に置き換えたいのなら、普通に
Replace(Rng.Value,"2rme3xk5",N)
でいいと思いますが?

この回答への補足

やりたいことは、

A1 → ("abc 2rme3xk5")
A2 → (eww3 abc 34ftwer0")
A3 → (342rqwr32234 abc r34r434ge")

などの状況で、abc以降をいずれの場合も、abc N") にしたいということでした。

補足日時:2003/03/13 10:02
    • good
    • 0

値がC6のセルに入っているとして


先頭から3文字を固定で後ろに変数をつけるのなら
必要な文字を切り出す関数 Mid を使用して
Range("C6").Select
ActiveCell.FormulaR1C1 = Mid(Range("C6"), 1, 3) & " " & N
でできます。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2003/03/13 10:01

Replaceでは無理でしょう。

Replaceの構文は
Replace(変換する文字列,変換される文字列,変換する文字列)です。
Replace("abcde","ab","AB")はABcdeが返されます。

変換したい文字列をsとして
If InStr(s, "abc") > 0 Then
s = Left$(s, InStr(s, "abc") + 2) & Format(n, "0")
End If
MsgBox s

でどうでしょう?
sがabcdeでnが10ならabc10が返ってきます。
(文字列にabcが含まれていれば、それ以降をnにしてしまします)
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2003/03/13 10:01

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