• ベストアンサー

エクセルで置換のマクロの際

Selection.Replace What:="あ", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False エクセルのマクロで置換をする際に 自動記録で書くとこうなります。 「あ」を「(空白)」におきかえる内容ですが 置き換え候補がたくさんある場合は 上記の記述をくりかえし記述するしかないのでしょうか? 例 「あ」を「」に 「い」「」に   というような具合です

  • ennkai
  • お礼率54% (284/525)

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

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

置き換え候補の量にもよります。 ソースに直書き出来るなら、 Sub Test() Dim s, i As Integer s = Array("あ", "い", "え")  For i = 0 To UBound(s)   Selection.Replace What:=s(i), Replacement:="", _    LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False  Next i End Sub

ennkai
質問者

お礼

早速の回答ありがとうございました for nextでまわしていくことが出来るのですね! 細かい記述内容をまたべんきょうさせていただきます ありがとうございました

関連するQ&A

  • エクセルのマクロ 大量の置換の記述を簡略化

    Cells.Select Selection.Replace What:="東京", Replacement:="東京都", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False このような置換のマクロが何十個とあって 置換前の語句と置換後の語句ごとに すべて記述していますが 「置換の記述そのものはまったく同じなので  その中に語句を順番に入れ込んでいく」 という風な記述はできるものでしょうか? もし方法があるならば御教授願いたいです 宜しくお願い致します

  • Excelマクロ 置換について教えてください。

    A列の,10を,15に置換したいので下記マクロを記録しました。 ほかに,10を,16などにしたい場合もあるため、 入力画面を表示して初期値は,10から,15ですが、ほかを入力した場合は他の値で置換するマクロを教えてください。 Sub Macro1() Columns("A:A").Select Selection.Replace What:=",10", Replacement:=",15", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub

  • エクセルでマクロを使用しての置換

    マクロ初心者です。 データを変換するシステムをマクロで作成していますが、 自分のPCではちゃんと実行できるのに、お客さんのPCで実行するとエラーが出てしまいます。 エラーが出る部分は、どうも置換するところらしく、 Selection.Replace What:="<BR>", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False ここが黄色く表示されるそうです。 どこを直せばよいですか?

  • 置換のマクロ

    先ほど質問させていただいている件なのですが 余りにも自分が記入した内容が分かりにくいので質問形式を変更します。 「置換」をするのに ボタンで簡単にできるよう以下のマクロを記録しました。 Sub Macro1() ActiveWindow.SmallScroll Down:=-15 Range("E7:AC7").Select Selection.Replace What:="2009年度契約", Replacement:="8.24-8.29", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Range("E14:AC14").Select Selection.Replace What:="2009年度契約", Replacement:="8.24-8.29", LookAt:=xlPart, _ このマクロの「8.24-8.29」の部分を「シート名取得」にしたいのです。出来ないでしょうか? もしくは BOXを出し任意のものを手で入力するようにコメントを出す様には出来ないでしょうか?

  • エクセル2003で特殊文字の置換方法

    エクセル2003、XPを使用しています。 エクセルのマクロで置換をしているのですが、 置換対象がCHAR(160)です。 セル上に上のを打ち込むと、実際は違いますが半角スペースに見えます。 特殊文字であっているのでしょうか。 それで、この文字を消したいと思い、以下の通りマクロで記述しているのですが、成功しません おわかりになる方いらしたらよろしくお願いします。 Cells.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart, SearchOrder:= _ xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

  • excelのvbaを使って日付を置換したいのです

    こんにちは。いつも質問ばかりですみません。 今、excell の VBAの勉強をしているのですが、たとえば、B列に2004/5/3 とか、2004/5/5とか、5月の日付ばかりはいっていたとして、その2004/5の部分を2004/6に置換したいとします。 それを、マクロでやらせてみて、VBAを見ると Sub Macro9() Cells.Replace What:="2004/5", Replacement:="2004/6", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End Sub のようになるのですが、このプロシージャーを実行しても、うまく置換できません。 どのように記述したら、できるのか、教えていただけるとうれしいです。 よろしくお願いいたします。

  • EXCEL 違う端末でマクロエラー

    私の端末で正常に作動したEXCELのマクロが、 他の端末ではエラーになり正常に動きません。 他の端末で実行する際、マクロやセルの中身など全く変更していません。 この場合、どのような原因が考えられますでしょうか? マクロは以下の部分でエラーが出ています。 Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False よろしくお願いします。

  • エクセルで指定した文字に自動で置換することは可能ですか??

    A1セルに「バナナ」と表示されると下のマクロの記録で作った”置換するマクロ”の「りんご」の部分を「バナナ」に変更し、さらにこの置換マクロを自動実行することはできますか?? Sub Macro1()' Cells.Select Selection.Replace What:="名前(1)", Replacement:="りんご", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Range("A1").Select End Sub このマクロの記録でなくてもいいんですが、あるセルに置換したい文字が表示された時点でシート内の置換が実行されるようにしたいんですけど・・・・・。 よろしくお願いします。

  • 二重引用符の置換処理に関して

    エクセルで特定のセルに二重引用符が入力されていた場合、“を““のように置換させたいです。 しかし、下記ソースではエラーが発生してプログラムが動きません。 Columns("J:O").Replace What:="“", Replacement:="““", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False どうすれば正常に置換することが出来るでしょうか? 宜しくお願いします。

  • excel「マクロ」 置換えで困っています。

    いつも皆様には大変お世話になっております、回答者の皆様ありがとう御座います。 早速ですが質問させて頂きます。 初めてexcelにて 「置換え」 マクロを組んでいます、置き換えなければいけない候補が多いので Sub okikae() Dim myRng As Range Selection.SpecialCells(xlCellTypeConstants, 2).Select For Each myRng In Selection myRng.Value = StrConv(myRng.Value, vbUpperCase + vbNarrow) Next myRng Dim aa, zz As Integer, a, za As Integer aa = Array("-10", "P10", "P-10") a = Array("-1", "P1", "P01", "P-1", "G1", "G01", "G-1", "-") For zz = 0 To UBound(aa) Selection.Replace What:=aa(zz), Replacement:="@10", _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False Next zz For za = 0 To UBound(a) Selection.Replace What:=a(za), Replacement:="", _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False Next za end sub 上記の様なマクロを永遠と入力しました。(実際にはもっと長いです。(入力を多数の人数で行っている為、同じP1やP10がイロイロな形式で入力されています。) セルを選択しマクロを実行したところ、うまく置換えが出来たり出来なかったりするセルが出てきて困っています。 どこに不具合があり、置換え出来なくなっているのかすら分からない状態に陥っています。 アドバイスありましたら宜しくお願いいたします、説明に不明な点があれば再度補足させて頂きます。

専門家に質問してみよう