• ベストアンサー

EXCEL VBA にて置換

Excel 2004 を利用しております。マクロ機能について勉強中ですが, すぐに実行しなければいけないことがあり,とても困っています。 Sheet1 に 原文 Sheet2 の A列に単語 B列に置換えたい単語 があります。 自動で、A列の単語を原文内で検索し、B列の単語に置換るようにしたい ときの,プロシージャの例を教えて頂けないでしょうか? 無知な質問で申し訳ございません、色々調べたのですが,よく のみこめないのです。お時間のある方,お助け頂けると嬉しいです。

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

  • ベストアンサー
  • rukuku
  • ベストアンサー率42% (401/933)
回答No.1

こんばんは こんな感じになります。 ただし、置換は間違っても戻せなくなることがあるので、必ずファイルごとバックアップを取ってから試してください。 Sub Substitute() Dim i ThisWorkbook.Activate Sheet1.Select For i = 1 To Sheet2.Cells(Rows.Count, "A").End(xlUp).Row Cells.Replace What:=Sheet2.Cells(i, "A"), Replacement:=Sheet2.Cells(i, "B"), LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Next i End Sub >色々調べたのですが,よくのみこめないのです。 マクロの場合、自分のやりたいことを実現するサンプルプログラムを見つけるのは難しいです。 基礎的なことを一通り勉強して、自分でストーリーが作れるようになることが大事です。 また、「マクロの記録」が非常に優れたサンプルプログラムになります。

yappaiides
質問者

お礼

具体的にご回答下さり大変ありがとうございました。 とても助かります。頑張って勉強していこうと思います。

関連するQ&A

  • EXCELで入力した文字を自動的に置換させたいです

    会社の仕事で、部品リストを会社で決められた英訳に従って翻訳しなければならず困っています; 会社で決められた英訳単語数は350単語あり、EXCELで一覧として与えられました。 そこで、EXCELで自動翻訳させるマクロを教えてくださいm(_ _)m 予め「シート1」のA列に(部品名)、B列に(決められた英訳)を入力しておき。 「シート2」のA列またはC列に部品名が入力されると、それぞれB列・D列に自動で自分の決めた訳に置換させる方法を教えてほしいです。 (例)  「シート1」                       「シート2」   |  A  |  B  |             |  A  |  B  |  C  |  D  | 1    釦    SWITCH             1  ヒューズ  FUSE   ランプ   LAMP 2   ランプ   LAMP              2  ランプ   LAMP  ヒューズ  FUSE 3  ヒューズ   FUSE              3   釦   SWITCH  ヒューズ  FUSE 宜しくお願いします。

  • ワード+エクセルのマクロ

    めぐみと申します。 ワード+エクセルのマクロのことで質問させて頂きます。 少し複雑ですみません。 ワードに書いてある単語をエクセルの中に記載されてある辞書(A列の単語→B列の単語)を置換したいです。 対象ファイル: 1.ディレクトリ内にあるワードファイルすべてのワードファイル 2.エクセルファイル  A列 検索対象の単語  B列 置換対象の単語 動作: エクセルのマクロを実行すると同じ階層にあるワードを探して、A列の単語の一覧を検索してB列に置換 エクセルのマクロを実行してワードのファイルの中の単語を変換するといった複雑なマクロは可能なのでしょうか? 恐れ入りますがご存じの方がいらっしゃいましたら教えて下さい。

  • エクセルマクロでワードの置換マクロを作りたい

    エクセルで作成した置換シートを使用して、ワードの資料内の間違え語を一括置換えできるエクセルマクロを作りたいです。 置換えシートには、A列に間違え語、B列に正しい語が入力してあります。 色々やってみたのですが、うまくいきません。 分かる方、教えていただけませんか?

  • 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マクロで置換 セルA1に6桁・スペース・24桁の数字が入っています。 最初の6桁に130,397,430,440が含まれているシートを選択 そのシートの中に "ああああ"があったら"ああああい"に "いいいい"があったら"いいいいう"に "うううう"があったら"ううううえ"に と置換をするマクロを書きたいと思っています。 置換する対象の文字列は多いので別マクロで作成し呼び出したいと考えています。 シートは1ブックに30シート程。何シートあるかはブックによって変わります。 現在マクロの記録を使って試行錯誤しているのですが なにぶん初心者なのでなかなかうまくいきません。 どなたかご教授頂ければと思います。

  • Excelファイル連続置換vba

    Excelで複数の文字列を一気に置換するvbaを教えていただけないでしょうか。 Book2の置換リストをBook1のSheet1に完全一致で置換したいのです。 Book1.xlsx:元ファイル Book2.xlsx:置換リスト ※下記のような配列 A列 B列 1 01_1 2 02_2 3 03_3 4 04_4 以上です。 よろしくお願いいたします。

  • エクセルVBAで連続して文字置換をしたい

    シート2に「検索する文字」と「置換後の文字」を入力しておく マクロで自動的にシート1の文字列を文字置換していく 置換作業は、シート1の商品全部を対象として、 シート2に入力している文字列を1つずつ置換作業をして 処理した後は、処理件数を残していく。 シート2に入力している文字列の数だけ全部、処理する。 現状は、商品数が約2万個で検索する文字列は100個ほどあります。 (今後はさらに増える予定です。)

  • マクロ(VBA)を中断中は、検索と置換は機能しない

    エクセル2010です。 マクロ(VBA)を中断中は、検索と置換は機能しないのでしょうか? VBAを中断させつつ、シート内を検索したいのですが、 うんともすんとも言いません。 マクロを実行してない時なら シート上に、ないならないとメッセージが表示されるはずなのですが、 マクロ中断中は表示されないのでしょうか?

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

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

  • エクセルの置換のことで・・・

    エクセルの置換機能で質問です。 仮にSheet1のA1のセルに --------------------------------------------------- 今日は良い天気です。 あすはどうでしょうか? --------------------------------------------------- そして、Sheet2のA1に --------------------------------------------------- 昨日は雨でした。 [★★★] たぶん良い天気になるでしょう。 --------------------------------------------------- このようなデータがあるとします。 VBAを使って置換してSheet2のA1を以下のようにしたいです。 --------------------------------------------------- 昨日は雨でした。 今日は良い天気です。 あすはどうでしょうか? たぶん良い天気になるでしょう。 --------------------------------------------------- マクロの記録で試してみたのですが、セル内に改行がはいっていると --------------------------------------------------- 昨日は雨でした。 今日は良い天気です。 たぶん良い天気になるでしょう。 --------------------------------------------------- このように上手くいきません。 VBAを使って上手くできないでしょうか?

専門家に質問してみよう