- ベストアンサー
置換のVBA
エクセルVBAの置換のことです。 ("abc 2rme3xk5") を ("abc N") のように置換させるにはどうすればいいでしょうか? Nは変数です。 ( ) や " も対象です。 以下のようにやってみましたがダメでした。 Rng.Value = Replace(Rng.Value,"abc*""","abc " & N & """")
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- NARA-OOSAKA
- ベストアンサー率18% (2/11)
- mlm
- ベストアンサー率62% (10/16)
- NARA-OOSAKA
- ベストアンサー率18% (2/11)
- mlm
- ベストアンサー率62% (10/16)
関連するQ&A
- Replaceメソッド 完全一致で置換したい
VBAのReplaceメソッドを完全一致で使う方法はありますか? Excel.Range.Replaceメソッドの方ではなく、 VBA.Strings.Replaceメソッドの方なのですが、 Sub test12() MsgBox Replace("abc", "ab", "") '・・・(1) MsgBox Replace("ab", "ab", "") '・・・(2) End Sub (1)の場合は、置換対象と置換前文字が一致しないから、置換されたくなくて、 (2)の場合は、置換対象と置換前文字が一致する(完全一致)から、置換される・・・ とやりたいのですが、可能でしょうか? Excel.Range.Replaceメソッドなら、LookAt:=xlPartなどで、条件をつけられますが、 VBA.Strings.Replaceの場合、どうすればいいですか?
- ベストアンサー
- その他MS Office製品
- vba 改行 「・・」が置換できない
シートの文字を取得して、削除したい文字を置換で消そうと思うのですが、 変数に格納した値にマウスカーソルを充てると、「・・」と表示され、置換できません。 ?mystr とすると、 改行が返ります。 mystr = Replace(mystr, Chr(10), "") mystr = Replace(mystr, Chr(13), "") mystr = Replace(mystr, vbCr, "") mystr = Replace(mystr, vbCrLf, "") mystr = Replace(mystr, Chr(10) & Chr(13), "") mystr = Replace(mystr, Chr(10) + Chr(13), "") で置換を試みましたが、全部だめです。 Debug.Print Asc(mystr) とすると、9が返ります。 この文字はどうやったら置換で消せるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excel2000でのVBAでの改行の置換方法
Excel2000でVBAを利用しています。 Dim buf As string buf = "あいうえお" buf = Replace(buf, Chr(10), Chr(13) & Chr(10)) Excel2007では上記のプログラムで「あいうえお」の間に入っている、 改行コード\nを\r\nに置換することができたのですが、 Excel2000では上記のコマンドで置換ができませんでした。 なんでも良いので、何か助言頂けると嬉しいです。 答えでもなくても良いのでなんでも思いついた事をお願い致します。
- 締切済み
- Visual Basic
- 変数をVBAのみで置換
エクセル2003です。 変数="あいう"の "い"を "え"に 置換して "あえう"にする。 というのをワークシートを使わずにVBAコードだけで行うにはどうすればいいのでしょうか? Str 、Replace、を使うと言うのは調べたらわかったのですがどうゆう風なコードを書けばいいのかよくわかりません。 ご教授よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA(Excel)でファイル内の文字を置換したいのですが
いつも拝見させていただいております。 初めて質問させていただきます。 現在VBAに興味を持ち始めて独学で学んでおり、 VBAでテキストファイルの文字を置換できないかと思っております。 事例としては以下のような例を考えています。 ・エクセルマクロ実行時に置換する/したい文字を入力 ・対象ファイルを指定 ・対象ファイル内(テキスト)にて文字を検索し、ヒットしたら置換 まだVBAを熟知していないので、出来るのかどうかもわかりませんが 可能であれば、教えて頂きたいと思います。宜しくお願いします
- 締切済み
- その他(プログラミング・開発)
- Excel2007VBAのランダム置換ソース
Excel(エクセル)2007VBAを使って、 「複数ある、同一の置換したい文字・数」 を 「複数の文字・数」 でランダムに置換したいのですが、 VBAソースが分かりません。 たとえば、 【A列】に A1:私は(置換する所)と(置換する所)が得意です。 A2:彼は(置換する所)と(置換する所)と(置換する所)が特技です。 A3:彼女は(置換する所)と(置換する所)と(置換する所)と(置換する所)の選手です。 A4:彼らは(置換する所)と(置換する所)と(置換する所)と(置換する所)と(置換する所)が好きです。 A5:あの人は(置換する所)と(置換する所)と(置換する所)と(置換する所)と(置換する所)と(置換する所)をしたことがありません。 と入力されている時に、 【B列】に B1:拳闘 B2:柔道 B3:野球 B4:籠球 B5:打球 B6:羽球 B7:剣道 B8:卓球 B9:水泳 B10:避球 と入力したとします。 そして、コマンドボタンを押すと 【A列】にあるすべての 「(置換する所)」 を、 【B列】にある「拳闘」「柔道」「野球」「籠球」「打球」「羽球」「剣道」「卓球」「水泳」「避球」のどれかで必ず置換されるようにします(【ランダムで置換】されるようにしたいです)。 ※置換の条件として、一つのセル内で同じ文字が重複しないようにしたいです。 (私は拳闘と拳闘が得意です。) ↑ ↑ 同じ文字が2つ以上ある置換は失敗です。 --------------------------------- 置換の成功例 (重複なしの置換) ◆置換前の【A列】A5 あの人は(置換する所)と(置換する所)と(置換する所)と(置換する所)と(置換する所)と(置換する所)をしたことがありません。 ↓↓↓ ◆置換後の【A列】A5 あの人は打球と柔道と水泳と剣道と避球と拳闘をしたことがありません。 --------------------------------- これが未完成のVBAソースです。 ↓↓↓ Sub test_Click() For Each CellA In Range("A1:A5").Cells Rnd1 = Int(Rnd() * 10) + 1 Rnd2 = Int(Rnd() * 9) + 1 Rnd3 = Int(Rnd() * 8) + 1 Rnd4 = Int(Rnd() * 7) + 1 Rnd5 = Int(Rnd() * 6) + 1 Rnd6 = Int(Rnd() * 5) + 1 If Rnd2 = Rnd1 Then Rnd2 = Rnd2 + 1 If Rnd3 = Rnd2 Then Rnd3 = Rnd3 + 1 If Rnd4 = Rnd3 Then Rnd4 = Rnd4 + 1 If Rnd5 = Rnd4 Then Rnd5 = Rnd5 + 1 If Rnd6 = Rnd5 Then Rnd6 = Rnd6 + 1 CellA.Value = Replace(CellA, "(置換する所)", Cells(Rnd1, 2), , 1) CellA.Value = Replace(CellA, "(置換する所)", Cells(Rnd2, 2), , 1) CellA.Value = Replace(CellA, "(置換する所)", Cells(Rnd3, 2), , 1) CellA.Value = Replace(CellA, "(置換する所)", Cells(Rnd4, 2), , 1) CellA.Value = Replace(CellA, "(置換する所)", Cells(Rnd5, 2), , 1) CellA.Value = Replace(CellA, "(置換する所)", Cells(Rnd6, 2), , 1) Next End Sub 【補足】 ※コマンドボタンを押すとランダム置換される仕様です。 ※1回限定の置換ではなく、コマンドボタンを押すたびに(何度でも)ランダム置換できるようにしたいです。 ※上記の【A列】【B列】の文字はあくまで例です。実際は、【A列】【B列】ともに自由に文字を変更できる応用の利く仕様にしたいです(Excelの【A列】【B列】に、文字を直接入力して変更するという意味です)。 ※上記の【A列】が5行、【B列】が10行というのもあくまで例です。実際は、【A列】【B列】ともに何行にでも対応できる仕様にしたいです(具体的には【A列】【B列】ともに、10000行くらいまで対応できるのが理想です)。 長くなりましたが、ここまでの条件を満たすVBAソースが知りたいです。 どうかよろしくおねがいいたします。
- ベストアンサー
- その他MS Office製品
- Excel VBA 全てのセルの一部に特定の語句があれば置換したい。
Excel VBA 全てのセルの一部に特定の語句があれば置換したい。 Excel VBA初心者です。 Excelの全てのセルに対して、特定の語句があれば別の特定語句で置換したいのですが、どうしたら良いかわかりません。 全角と半角が混在していますので、これは無視したいですし、変換したい文字列の位置は不定です。Excel 2007です。 取り敢えず、細かなな条件は無視して書いたコードは Dim myCell As Range Sub rep() For Each myCell In Selection myCell.Value = Replace(myCell.Value, "OLD", "NEW") Next myCell End Sub カーソルのある所は置換されますが、それで終わりです。 ご教授下さい。
- ベストアンサー
- その他MS Office製品
- VBAでの文字列置換
表題のとおりですが、過去の質問では良い回答が 見当たりませんでした。 ・やりたいこと ”A”->”001” ”B”->”002” ”C”->”003” ”D”->”004” のようにテキストの置換候補があり(置換、置換対象のテキストは全角、半角さまざまです)、 それをExcelのワークシートに適用したいです。 やり方はどういうやり方でも良いです。ただ置換リストは追加、変更する必要があります。 VBAのreplaceを利用した置換マクロを作成すればよいのでしょうか。 当方、Word用の簡単なVBAマクロの作成経験はありますが、 Excelでは利用したことがありません。 ある程度具体的に御教授いただけると助かります。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- DCP-J926Nを使用してワード(A4)に書いた宛名を長形4号の封筒に印刷する方法を教えてください。
- お使いの環境はWindows10で、接続は有線LANです。関連するソフト・アプリはありません。電話回線は光回線です。
- DCP-J926Nを使って封筒に宛名を印刷する方法がわかりません。お使いの環境はWindows10で、接続は有線LANです。関連するソフト・アプリはありません。電話回線は光回線です。
お礼
昨日に続いて、ありがとうございます!! うまくいきました。 2rme3xk5 を * でも大丈夫でした。