エクセルのマクロを使って、例えば、「大阪太郎」を、「25」という数字に一発&ごっそり変換したい。
上記の1件だけなら、エクセルの「置換」を使ってやればいいのはわかるのですが(実際、そのようにやってみたのですが、結構、大変だったものですから・・・)、実は、このような変換を、毎月、約70件こなさねばならない(つまりは、約70人分ある)ので、どうにか効率化できないかと調べた結果、「マクロ」というものを使って、そこに変換式(プログラム)を入れて、「適用」させれば、うまく行くのでは?と思い至りました。
「大阪太郎」→「25」、「東京次郎」→「26」、「北海道三郎」→「27」とかいう、そういう具合に、変換するのを、エクセルの「置換」を使わずに、変換のためのマクロ(VBA?)を一度だけ組んでしまって、後は、毎月、ポチッとボタンを押す、というようにしたいのです。
こういうことが、果たしてできるのかどうか、もしできるのなら、どういうプログラムを組めばよいのか、入り口だけでもよいので、ご教示いただけるでしょうか?
(ちなみに、ウェブ検索したのですが、漢字の文字列をカナ変換するとか、そういう「変換」のためのページはたくさん出てきたのですが、私の希望する、特定の文字列を、数字に変換するためのページなどは、(ニーズが無いせいか)見つけることができませんでした。
以上、なにとぞよろしくお願いいたします。
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
選択範囲について適用します
すごいっ、バッチリできました!!!(カタカタと音を立てるように、全部変換されていきました)
補足説明まで付けて下さって、どうもありがとうございました。(実際、補足が無かったら、できませんでした。当方の初心者っぷりもお見通しだったのですね。ありがとうございます!)
これを機会に、マクロをちょっと勉強してみようと思います。(でも、普段はこういう上級の操作を必要としていないので、「この世界の成り立ちを漠然と理解する」だけに終わるかもしれませんが…。それだけに、こういう助け方をして下さって、感謝します。)
それにしても、あっという間にこんなに回答が集まるというのは、インターネットは本当に凄い・・・オドロキです(実は、初めての質問だったものですから。当然、新規登録をしたばかりです。。)
お世話になりました。皆さんの上に、幸あれ~。(ちょっと興奮気味。。笑)
No.4
- 回答日時:
VBAが出来る人には、質問の課題はそんなに難しいコードのはならない。
またやり方(ロジックと言うようなもの)も色々在る。しかし思い立ったからと言って、直ぐ組める様なものじゃない。普通自習したら数ヶ月はかかりきりでもかかる。甘く見てはいけない。
プログラムなどに適した人にしては、質問なども内容があいまい。
ーーー
「大阪太郎」→「25」、「東京次郎」→「26」の対応がいつも固定しているなら、関数のVLOOKUP関数で対応付けられる。
VLOOKUP関数を知らない人のレベルは、初心者と私は推測する。
エクセルのhデータ構成がどうなっているかも1言も質問に書いてない。
ーー
また「大阪太郎」→「25」、「東京次郎」→「26」・・の表がどうしてもエクセルのシートに必要だが、どういう形で存在するのかも書いてない。自分で作るのか?毎月増減(増加)するのか。ワンセットで(他システムなどから)現状のものが出来るのか。氏名?か商品か判らないが、数字変換して何に使うのか、「大阪太郎」は2度3度出てくるのか、そういうことも書いてない。コンピュタ利用は、そういうチェックすべき観点と言うものがあるのだ。
ーー
関数を使ってはダメか
検索の操作のマクロの記録の使いこなしを勉強したら。
No.3
- 回答日時:
補足:
VBAを扱うにはVBEに記載しなくてはいけません
VBEはVBエディタの事です
VBEは エクセルの 表示 - ツールバー - VisualBasicで表示させ
VBE上で挿入 - 標準モジュール で現れた画面に
コードすべてを貼り付けます
これを実行するには実行 - Sub/ユーザーフォームの実行で
先ほど貼り付けたコードの名前が出ているのでそれを選択して実行ボタンを押します!
以上!
No.1
- 回答日時:
次の方法は如何でしょうか。
(1)一つの置換操作をマクロ記録する。
(2)alt+F11キーを同時押下⇒VBE画面が表示⇒左画面の標準モジュールをクリック⇒modul1をダブルクリック
(3)右画面に置換用のコードが2行分表示されるので、それをコピー&ペースト後に、Cells.Replace What:="置換前文字列", Replacement:="置換文字列"の部分を変更する
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) VBA 文字列変換と指定した列にある日時データから時間を削除する方法について 2 2022/04/14 15:23
- その他(パソコン・スマホ・電化製品) エクセル作成後のフォントの一括変換できますか?やり方も教えてください。 3 2023/02/26 15:57
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- その他(プログラミング・Web制作) 変換のプログラムを教えてください。 6 2023/07/01 09:57
- Excel(エクセル) エクセル文字列の日付を日付けに変える 2 2023/05/13 11:08
- その他(Microsoft Office) Microsoft IME 一発で変換できない言葉がある 3 2022/07/19 19:29
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Googleスプレッドシートでワイ...
-
ファイル名に空白がある時、一...
-
WinMergeにて置換の際に、文字...
-
ファイル名を特定の文字までを...
-
Flexible Renamer 半角スペー...
-
《》で囲まれた文字をすべて削...
-
テキストエディタを探しています
-
TeraPadでの置換方法
-
正規表現による拡張子の追加方...
-
PS4コントローラーをPCでゲーム...
-
wordの何も書かれていない2ペー...
-
エクセルでアルファベットか数...
-
Chr(13)とChr(10)の違いは?
-
EBCDIC⇒SJIS変換の方法
-
EXCELで=より左の文字を一括で...
-
文字列からタブコードを取り除...
-
「彡」って文字はなんという文...
-
4Kの外部モニターに出力すると...
-
1文字って1バイトだったっけ?
-
Excelで3E8を3.00E+8にしない方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Googleスプレッドシートでワイ...
-
TeraPadでの置換方法
-
《》で囲まれた文字をすべて削...
-
ファイル名を特定の文字までを...
-
正規表現で完全一致したキーワ...
-
IME 郵便番号辞書 で 都道府...
-
ファイル名に空白がある時、一...
-
メモ帳の置換機能で特定の文字...
-
Flexible Renamerの正規表現に...
-
【正規表現に詳しい方】ダブル...
-
Flexible Renamer 半角スペー...
-
正規表現で最初にマッチしたも...
-
(*)を_【*】に一括変換したいの...
-
Flexible Renamerの検索と置換...
-
エクセルのマクロ 大量の置換...
-
ワードを使用した特定かつ複数...
-
正規表現で固定長に揃えたい
-
【シェル】チルダの置換
-
秀丸のマクロで
-
秀丸で置換かマクロで括弧をと...
おすすめ情報