エクセルマクロで文字列を一発変換する方法を教えてください

このQ&Aのポイント
  • エクセルのマクロを使って、例えば「大阪太郎」を「25」という数字に一発で変換したいです。毎月約70件の変換作業があるので効率化したいです。エクセルの置換機能では大変なので、マクロを使いたいと考えています。具体的なプログラムの組み方や方法をご教示いただけますか。
  • エクセルの置換機能ではなく、マクロを使って文字列を一括で変換したいです。毎月約70件の変換作業がありますが、手作業では非効率的です。具体的なマクロの組み方やプログラムの作成方法を教えていただけないでしょうか。
  • エクセルのマクロを使って、特定の文字列を一括で変換したいです。例えば「大阪太郎」を「25」という数字に変換したいです。毎月約70件の変換があるため、効率化したいと考えています。マクロの組み方やプログラムの作成方法をご教示いただけないでしょうか。
回答を見る
  • ベストアンサー

エクセルのマクロを使って、例えば、「大阪太郎」を、「25」という数字に

エクセルのマクロを使って、例えば、「大阪太郎」を、「25」という数字に一発&ごっそり変換したい。 上記の1件だけなら、エクセルの「置換」を使ってやればいいのはわかるのですが(実際、そのようにやってみたのですが、結構、大変だったものですから・・・)、実は、このような変換を、毎月、約70件こなさねばならない(つまりは、約70人分ある)ので、どうにか効率化できないかと調べた結果、「マクロ」というものを使って、そこに変換式(プログラム)を入れて、「適用」させれば、うまく行くのでは?と思い至りました。 「大阪太郎」→「25」、「東京次郎」→「26」、「北海道三郎」→「27」とかいう、そういう具合に、変換するのを、エクセルの「置換」を使わずに、変換のためのマクロ(VBA?)を一度だけ組んでしまって、後は、毎月、ポチッとボタンを押す、というようにしたいのです。 こういうことが、果たしてできるのかどうか、もしできるのなら、どういうプログラムを組めばよいのか、入り口だけでもよいので、ご教示いただけるでしょうか? (ちなみに、ウェブ検索したのですが、漢字の文字列をカナ変換するとか、そういう「変換」のためのページはたくさん出てきたのですが、私の希望する、特定の文字列を、数字に変換するためのページなどは、(ニーズが無いせいか)見つけることができませんでした。 以上、なにとぞよろしくお願いいたします。

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

  • ベストアンサー
  • aloha8761
  • ベストアンサー率12% (11/89)
回答No.2

Sub 置換() Dim c As Range For Each c In Selection c.Value = Replace(c.Value, "置換前文字", "置換後文字") c.Value = Replace(c.Value, "変換前文字", "変換後文字") 'ここに同じように好きなだけ・・ Next End Sub 選択範囲について適用します

nakj01
質問者

お礼

すごいっ、バッチリできました!!!(カタカタと音を立てるように、全部変換されていきました) 補足説明まで付けて下さって、どうもありがとうございました。(実際、補足が無かったら、できませんでした。当方の初心者っぷりもお見通しだったのですね。ありがとうございます!) これを機会に、マクロをちょっと勉強してみようと思います。(でも、普段はこういう上級の操作を必要としていないので、「この世界の成り立ちを漠然と理解する」だけに終わるかもしれませんが…。それだけに、こういう助け方をして下さって、感謝します。) それにしても、あっという間にこんなに回答が集まるというのは、インターネットは本当に凄い・・・オドロキです(実は、初めての質問だったものですから。当然、新規登録をしたばかりです。。) お世話になりました。皆さんの上に、幸あれ~。(ちょっと興奮気味。。笑)

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

VBAが出来る人には、質問の課題はそんなに難しいコードのはならない。またやり方(ロジックと言うようなもの)も色々在る。 しかし思い立ったからと言って、直ぐ組める様なものじゃない。普通自習したら数ヶ月はかかりきりでもかかる。甘く見てはいけない。 プログラムなどに適した人にしては、質問なども内容があいまい。 ーーー 「大阪太郎」→「25」、「東京次郎」→「26」の対応がいつも固定しているなら、関数のVLOOKUP関数で対応付けられる。 VLOOKUP関数を知らない人のレベルは、初心者と私は推測する。 エクセルのhデータ構成がどうなっているかも1言も質問に書いてない。 ーー また「大阪太郎」→「25」、「東京次郎」→「26」・・の表がどうしてもエクセルのシートに必要だが、どういう形で存在するのかも書いてない。自分で作るのか?毎月増減(増加)するのか。ワンセットで(他システムなどから)現状のものが出来るのか。氏名?か商品か判らないが、数字変換して何に使うのか、「大阪太郎」は2度3度出てくるのか、そういうことも書いてない。コンピュタ利用は、そういうチェックすべき観点と言うものがあるのだ。 ーー 関数を使ってはダメか 検索の操作のマクロの記録の使いこなしを勉強したら。

  • aloha8761
  • ベストアンサー率12% (11/89)
回答No.3

補足: VBAを扱うにはVBEに記載しなくてはいけません VBEはVBエディタの事です VBEは エクセルの 表示 - ツールバー - VisualBasicで表示させ VBE上で挿入 - 標準モジュール で現れた画面に コードすべてを貼り付けます これを実行するには実行 - Sub/ユーザーフォームの実行で 先ほど貼り付けたコードの名前が出ているのでそれを選択して実行ボタンを押します! 以上!

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

次の方法は如何でしょうか。 (1)一つの置換操作をマクロ記録する。 (2)alt+F11キーを同時押下⇒VBE画面が表示⇒左画面の標準モジュールをクリック⇒modul1をダブルクリック (3)右画面に置換用のコードが2行分表示されるので、それをコピー&ペースト後に、Cells.Replace What:="置換前文字列", Replacement:="置換文字列"の部分を変更する

関連するQ&A

  • エクセルのマクロで

    エクセルのマクロで自動で記録させることしかできないド素人です。マクロで置換をしたいのですが、普通の置換ではなく例えば一枚目のシートのあるセルに花子さん、2枚目シートのあるセルに太郎さん、そのとなりのセルに次郎さんというようになっていたとします。これをマクロで花子さんを置換して太郎さんとその隣に次郎さんもくるようにしたいのですが可能でしょうか。または置換だと1つのセルに対して2つのセルは無理かもしれないので、ある条件の時に(太郎さんの時に)隣に次郎さんが貼り付けられるようにする方法はありますか。今までは手動で花子さんのところに太郎、次郎の両方のセルをコピーで貼り付けていました。これを多数の置換を登録してマクロにすればとても便利なのですがこのようなことは可能でしょうか。

  • Excelマクロで置換

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

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

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

  • エクセル・マクロを使って・・

    1列目に漢字の名前を入力しておき、 これをみて愛情⇒1、恋愛⇒2、学校⇒3・・ といった変換後の数字を2列目に入れるプログラムを作りたいと思っています。 マクロ自体ほとんど分からない(使ったことはある)のですが、 このようなプログラムの書き方を教えてください。 あと、参考になる文献があれば、文献のみでも教えてください。 よろしくお願いします。

  • Excel マクロ 添削お願いします

    まず下記マクロをご参照下さい Sub 置換() Range("D9:D195").Select Selection.Replace What:="D1", Replacement:="D2", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Range("D9").Select End Sub D9からD195を選択して、文字列の置換をマクロで行うつもりで この時置換の対象は D1セルの文字列→D2セルの文字列 で 日々D2には違う文字列が入ります またD9からD195には参照式が入っており、その参照先を置換で切り替えたいのです マクロの記録を基に作ったのですが 思うように動いてくれませんでした 何がいけないのでしょうか? Excel2000 XP です よろしくお願いします

  • エクセルでマクロを自動で実行させることはできますか?

    エクセルで 9-9-9 とか書いてあるとこを○の中に9という風に変換する マクロをこちらで教えてもらったのですが これを9-9-9とかのデータを貼り付けた途端に マクロで○の中数字に変換させることはできるんでしょうか? 変換させたい列は決まっていてUの列なんです。 宜しくお願いします。

  • Excel 検索・置換マクロ

    検索する文字列は、AH4のセルにかいている数値とし 置換後の文字列を“無し”にしたいです。 これを実行するマクロを教えてください。 何卒よろしくお願いしますm--m Excel2003

  • エクセル2003でのセル内文字列操作マクロ

    あるセルにある文字列を置換し、その置換された文字列を別のセルに移すことをしたいと考えています。 <例> 0000.1111.2222.3333 ↓置換 00:00:11:11:22:22:33:33 (文字列3番目ごとににコロン挿入) 上記のように変換できるマクロメソッド、またロジックなどを教えていただけませんか?また可能でしょうか? (上記の例は逆のパターン(下の文字列から上の文字列への置換)でも結構です。) よろしくお願いします。

  • 文字を変換するマクロ

    こんばんわ。エクセルのマクロについて教えてください。 A列に、「イ」「ロ」「ハ」「ニ」「ホ」という文字が入っており、 これをB列に、 イなら1、ロ→2、ハ→3、ニ→4、ホ→5 というな置換ルールで入力していくマクロは、 どのように組めばよいのでしょうか。 (マクロを組まずとも、  普通に置換を使えばできると思うのですが、  是非、マクロで組みたいので・・・) (A列)(B列)  ロ   2  イ   1  ハ   3  ニ   4  イ   1  ホ   5      ↑   マクロを実行すると、   B列に変換された数値が入力される よろしくお願いします。

  • エクセルで文字列の数字を数字に

    エクセルで文字列の数字を数字に変換する関数をご存知の方教えてください。宜しくお願いします。

専門家に質問してみよう