• ベストアンサー

ワードの置換ですが

Cells(1, "A") = Mid(Cells(1, "B"), 1, 1) Cells(2, "A") = Mid(Cells(1, "B"), 2, 1) Cells(3, "A") = Mid(Cells(1, "B"), 3, 1) Cells(4, "A") = Mid(Cells(1, "B"), 4, 1) 上記の文字列を以下に置換したいのですが。 Cells(1, "A") = "" Cells(2, "A") = "" Cells(3, "A") = "" Cells(4, "A") = "" 「検索と置換」で「ワイルドカードを使用する」にチェックを入れて、「検索する文字列」に Mid*1) を指定したのですが、マッチングしません。 なぜマッチングしないのでしょうか? 

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

エスケープが必要だから、「Mid*1\)」が正しいのでは。

pierika
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

Mid*1\) でどうですか? マクロ(Excel?)をWordで編集しているの? for i = 1 to 4  Cells(i,"A") = Mid(Cells(1, "B"),i,1) next i とか、 for i = 1 to 4  Cells(i,"A") = "" next i で良いような、、、、

pierika
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ワードの置換

    a12345,b ad3bf3evf3,b a,,#b#,$$,b 上記のように、"a"で始まって",b"で終わる文字列を置換したいのですが。 「検索する文字列」にどのように指定すればいいでしょうか?

  • ワードのワイルドカードを使った置換について

    ワードでワイルドカードを使って置換をしたいのですが、うまくいきません。 数字の前の全角スペースを半角スペースに変えたいのです。 置換でワイルドカードを使用するにチェックを入れ、 検索する文字列は「全角スペース[0-9]」 置換後の文字列は「半角スペース\1」 として実行してみたのですが、 〔置換後の文字列〕に指定できない範囲の番号が含まれています というメッセージが出ます。 全角スペース[0-9]はきちんと認識しているようで、検索まではうまくいっているようですが、 置換後の指定の仕方が悪いようなのです。 お教えいただければと思います。 よろしくお願いいたします。

  • Wordで、a) を (A) に置換

    ワイルドカードを使用し、文書中の a) を (A) に置換したいのですが、思うようにいきません。 以下で試しているのですが、 検索する文字列: ([!\(])([a-d]\)) 置換後の文字列: \1(\2 これだと a)( に置換されてしまいます。 ご助言いただけたら、大変助かります。

  • wordのワイルドカードを使った置換について

    word2007でワイルドカードを使った置換をしたいと思いますが、うまくいきません。 数字の前の全角空白を半角空白にしたいと思います。、数字は全て半角です。 ○全角空白 △半角空白として 「第○1章」を「第△1章」と置換したいと思います。 置換で検索する文字列に 「○([0-9])」 置換後の文字列       「△\1」 と指定すると、置換後の結果は 「第1△章」 となります。 どうしてでしょうか。 どのように指定すればよいのかお教えください。 インストールしているアプリと関係があるということはあるでしょうか。そんなに複雑な使い方はしていませんが…… よろしくお願いいたします。

  • (エクセル)シート別に指定した文字列を検索・置換したい(マクロ使用)

    以下のようにsheet1で指定した文字列をそれぞれのシートで検索・置換するプロシージャを教えてください。 sheet1は処理したいデータを入力するシートとします。 以下のように指定します。 A列はシート名 B列は検索文字 C列は置換文字 A列------B列--C列 sheet2----A----B sheet3----B----A sheet4----C----B よろしくお願いします。

  • エクセル 複数の置換

    おはようございます。たとえば、以下の画像のようにアルファベットが並んでいたとします。そのうち、AとBとCの3つをFに置換したいとすればどのようにすればいいのでしょうか。検索と選択→置換→検索する文字列→A→置換後の文字列→F これを同じようにBもCもすればできますが、大量の検索する文字がある場合、一つ一つ打っていくのがたいへんなのですが何かいい方法はありますか。ご回答よろしくお願いします。

  • Excelの置換で教えてください。

    Excelの置換機能を使用し、以下のように設定して置換を行いました。 検索前の文字列:80,80,VALUE(F7) 置換後の文字列:80,80,VALUE(MID(F7,2,9)) 結果として以下の様に置き換わりました。 =IFERROR(IF(F7<>"",IF(LEFT(F7,1)="*",IF(VALUE(MID(F7,2,9))>80,80,VALUE(F7)),IF(VALUE(F7)>60,60,VALUE(F7))),IF(E7<>"",VALUE(E7),"")),"") ↓ =IFERROR(IF(F7<>"",IF(LEFT(F7,1)="*",IF(VALUE(MID(F7,2,9))>80,80,VALUE(MID(F7,2,9)),IF(VALUE(F7)>60,60,VALUE(F7))),IF(E7<>"",VALUE(E7),"")),"") このセル1つのみであればこれで完了ですが、 検索前の文字列:80,80,VALUE(F7) 置換後の文字列:80,80,VALUE(MID(F7,2,9)) この★F7★の部分が異なる内容のセルが膨大にあるので 一括で置換できる方法を探しています。 いい方法がありましたら教えてください。

  • wordのワイルドカードを使用しての置換について

    word2007を使用しています。 置換を簡単に行うために、ワイルドカードを使用したいのですが、どのような指定をしたらよいでしょうか。お知恵をお貸しください。 やりたい内容は次のようなものです。 ・行頭から始まる「文字列1(文字列2)」のような形を見つけ、文字列1の前に★をつける。 (例)下記のような<文章1>を<文章2>のように置換する。 <文章1> あいうえお(かきくけこ) さしすせそ たちつてと あああ(いいい) ううううう えええ(おおお) <文章2> ★あいうえお(かきくけこ) さしすせそ たちつてと ★あああ(いいい) ううううう  えええ(おおお) よろしくお願いいたします。

  • 条件に一致するセルのカウントと色付けと置換

    こんにちは。 指定した文字列を選択範囲から検索し、 文字列を含むセルの個数のカウント& セルの色付け&文字列の置換ができる コードを教えてください。 <シート1> A列:検索文字列 B列:置換後の文字列 <対象範囲> 別ブックの指定した範囲のみ 文字列の置換のみであればエラーなく 実行することができたのですが、 個数のカウントとセルの色付け方法が いまいちわかりません。 vba初心者のため、簡単な解説を つけていただけると嬉しいです。 なお、文字列の置換は以下のサイトを参考に しています。 http://extan.jp/?p=5749

  • 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ソースが知りたいです。 どうかよろしくおねがいいたします。

専門家に質問してみよう