• ベストアンサー

エクセルで複数文字を一括置換

エクセルファイルで例えば豊島区、練馬区、北区等の文字を東京に変換する場合はどういった方法があるでしょうか。 マクロで書けば可能だと思うのですが、私はスキルが無いため、書けません。 ご教授お願いいたします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

merlionXXです。 こっちの方が2度置換えしないだけスマートかな。 Sub test03() Dim x As Variant Dim i As Integer x = Split("千代田区、中央区、港区、新宿区、文京区、台東区、墨田区、江東区、品川区、目黒区、大田区、世田谷区、渋谷区、中野区、杉並区、豊島区、北区、荒川区、板橋区、練馬区、足立区、葛飾区、江戸川区", "、") For i = LBound(x) To UBound(x) ActiveSheet.UsedRange.Replace What:=x(i), Replacement:=IIf(InStr("千代田区、中央区、港区", x(i)) > 0, "東京2", "東京"), LookAt:=xlPart Next End Sub

saisainet
質問者

お礼

ご回答いただきありがとうございました。 自分のしたいこともよく説明もできないでいたのに… 完璧でした。 本当にありがとうございます。

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

> 千代田区と中央区、港区を東京2とすることは可能でしょうか。 merlionXXです。スマートじゃないけど以下のように2通りの置換えをするのが簡単かな。 Sub test02() Dim x As Variant, y As Variant Dim i As Integer, n As Integer With ActiveSheet.UsedRange x = Split("新宿区、文京区、台東区、墨田区、江東区、品川区、目黒区、大田区、世田谷区、渋谷区、中野区、杉並区、豊島区、北区、荒川区、板橋区、練馬区、足立区、葛飾区、江戸川区", "、") For i = LBound(x) To UBound(x) .Replace What:=x(i), Replacement:="東京", LookAt:=xlPart Next i y = Split("千代田区、中央区、港区", "、") For n = LBound(y) To UBound(y) .Replace What:=y(n), Replacement:="東京2", LookAt:=xlPart Next n End With End Sub

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

東京23区名をすべて置き換えるマクロを書いてみました。 Sub test01() Dim x As Variant Dim i As Integer x = Split("千代田区、中央区、港区、新宿区、文京区、台東区、墨田区、江東区、品川区、目黒区、大田区、世田谷区、渋谷区、中野区、杉並区、豊島区、北区、荒川区、板橋区、練馬区、足立区、葛飾区、江戸川区", "、") For i = LBound(x) To UBound(x) ActiveSheet.UsedRange.Replace What:=x(i), Replacement:="東京", LookAt:=xlPart Next End Sub

saisainet
質問者

補足

ありがとうございます。エクセルを使えるとこんなことが出来るんですね。感動しました。 たとえば千代田区と中央区、港区を東京2とすることは可能でしょうか。 一度にご質問すればよかったのですが…何度もお手数をおかけします。よろしくお願いいたします。

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

んー・・マクロを記述するのもいいですが、手間を考えてみると普通に【置換】した方が早そうです マクロで記述するにも「豊島区」「練馬区」「北区」「東京」と入力する必要がありますから それならば、そのまま一つずつ置換で「すべて置換」を行ったほうが早いかな・・・と思います マクロ(VBA)の知識も必要ありませんし、不要なマクロコードを残すこともありません データを追加するたびに繰り返し実行する必要があるのであれば 「新しいマクロの記録」で操作手順をマクロとして記録することができます 置換を行う手順をこの「新しいマクロの記録」でマクロとして記録することで繰り返し実行することが可能になります Excelのヘルプなどを参考に試してみてください

saisainet
質問者

お礼

ご回答いただきありがとうございます。 一度その方法を試みたのですが、実際には東京23区だけでなく関東一円の地域を変換しなければいけないので手間がかかりすぎて断念しました。 マクロを使う方法をご教授いただいていますのでそちらを試してみます。 また、わからないことがありましたらこちらにご相談させていただこうと思いますのでよろしくお願いいたします。

関連するQ&A

  • 複数文字列の一括置換?

    置換とは少々違うのかもしれませんが… ファイルA: あいうえお title1 かきくけこ title2 さしすせそ title3 たちつてと title4 ファイルB: 1 アイウエオ 2 カキクケコ 4 タチツテト ファイルC: あいうえお アイウエオ かきくけこ カキクケコ さしすせそ title3 たちつてと タチツテト * ファイルは全てテキスト形式です。 Aのテキストを、Bを使ってCのように一気に変換したいのですが、何か良い方法は無いでしょうか? (変換する内容がBに無い場合もありえますので、その場合の処理も指定したいです。) 手軽に行える方法(ソフト?)等があると助かります。 ちなみに今は、 ・Aのテキストのtitle部分を削除する ・Tab区切りに変える ・エクセルに貼り付ける ・vlookup関数で変換 とやっていますが、ファイル数が多く大変です。 実際はAの内容はもっと複雑で、vlookupが使えるように無理矢理Tab区切りにしているので、変換後にもとの形に戻すのが難しいです;;

  • エクセルで複数語句の一括置換がしたい。

    1つのシートの複数のセルの中に文章が記入してあり、その中の文字を 一括で置換したいのです。 AAAA → BBBB 1234 → 5678 ○×△□ → ●×▲■ このように変更したい文字が数百とあります。 また、置換前の語句(セルA1~)と置換後の語句(セルB1~)というように エクセルの別のファイルに並べております。 どのようにすれば出来るのかお教え頂けませんでしょうか? もしマクロなどで出来るとしたら、初心者ですので細かいやり方などお教え頂けたらありがたいと思っております。 よろしくお願いいたします。

  • 複数のエクセルファイルの文字色を一括で黒にしたい

    こんにちは 下記のように、複数のフォルダの配下にある複数のエクセルファイルA~Fの 中の全ての文字色を一括で黒に変更したいと思っているのですが、 なにか良い方法があったらご教示頂けないでしょうか。 (ちなみに全シートが対象です。) フォルダ1   ┣フォルダ2   ┃  ┗エクセルファイルA   ┣フォルダ3   ┃  ┣エクセルファイルB   ┃  ┣エクセルファイルC   ┃  ┗エクセルファイルD   ┗フォルダ4      ┣エクセルファイルE      ┗エクセルファイルF 実現方法はシェアウェア以外であればソフトでもマクロでも何でも構いません。 よろしくお願い致します。

  • ワードで複数の文字を一括・連続置換するマクロ

    ワード(Word)で複数の文字を一括・連続置換するマクロを作りたいのです。 次の回答を参考にしてマクロを作ってみました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=994495 ところが、置換したい単語が100くらいになってきて扱いづらいので、 ワード(又はテキストやエクセルでも可)の置換文字のリストのファイルを参照して、同じように連続置換させたいのですが、どのような方法があるでしょうか? シェアウェアでも同様の機能をもつものがありますが、自由にカスタマイズできないので使えません。 (置換後の文字列に蛍光ペンをかけたいので)

  • Excelの文字列置換を止める

    条件が少し異なったデータが多数あり、それぞれを別のExcelファイル(dat01.xls~dat10.xlsとします)としています。その中のデータの順番は同じにしてあります。 これらのデータ間の相違を見るため、新しいExcelファイル(summary.xlsとします)を作り、元のデータが入っているファイルの内容を参照するようにしているのですが、例えば summary.xlsのR1C1に=max([dat01.xls]!R1) というように式を記述するとdat01.xlsの1行の最大値が表示されます。このような形でdat01.xlsの色々な特徴量をsummary.xlsに表示させることができるのですが、その後同様にしてdat02.xlsの特徴量を表示させるため、"dat01.xls"という文字列を"dat02.xls"という文字列に変換するということをよくやるのですが、たまに変換する文字列を間違えて入力してしまうことがあります。 こうなると、その間違えた文字列となるファイル名が存在しないので、そのファイルがどこにあるのか1つ1つの変換毎に聞いてきて、その度にキャンセルを繰り返す必要があり、対象となる文字列が多いとキャンセルするのにとても時間がかかるので、途中で文字列変換を中止したいのですが、どのようにしたらよいかわかりません。 <cntl>+<alt>+<del>でExcelを強制終了という方法もたまに行いますが、できればそうでない方法を教えてください。

  • EXCELでの一括置換について

    EXCELにおいて一括置換の仕方について下記のようなことは できるのでしょうか? バージョンはEXCEL2000、OSはWIN2000を使用しております。 下記のAファイル(EXECL形式)に入力されているコードとそれに対応する品名を使用し、 Bファイルのコードを置換してCファイルのように品名に一括で置換をしたい場合、どのような方法を使用すればよいのでしょうか?やはりマクロとかを使用するのでしょうか? Aファイル  コード 品名   344 とまと   122 れもん   233 みかん  Bファイル(置換前)  コード   233   344     Cファイル(置換後)  コード   みかん   とまと  

  • エクセルのマクロで文字の置換について

    エクセルのマクロを使った文字の置換についてお聞きしたことがありましす。 やりたいイメージは例として添付の画像としてアップしましたが、 ・エクセルシートに英数文字列の表がある(例では2行2列ですが、実際は6行48列ぐらいです) ・その表を各英数文字列の間に半角カンマ","を入れて、メモ帳に貼り付けたい   ※実際メモ帳に貼り付ける動作は手動で行うので、クリップボード上で「各英数文字列    の間に半角カンマ","が入っている状態」で構いません。 ・各英数文字列の最初の2文字は必ず"0a"、その後の英数字は3桁または4桁です。 ちなみに、エクセルシートで英数文字列の表をそのままコピーしてメモ帳でペーストすると 各英数文字列の間にスペース(空白)が入ってしまいます。 その後、メモ帳で置換などを使い半角カンマ","を入れてもいいのですが、そこまでをマクロで行いたいと思っております。 上記のことがそもそもエクセルのマクロで出来るかどか分かりませんが、なにか有用な方法がございましたらご教授お願い致します。  ※使用OS:Windows7、エクセルバージョン:2007

  • エクセルファイルの一括変換・処理方法について

    エクセルファイルの一括変換・処理方法についてお聞きしたいことがあります。100行3列の数値データを持つエクセルファイルがあるとします。4列目に計算式例えば、D1=A1*B1をD列にフィルする作業を自動的に行い、かつ複数の、同様なデータを持つエクセルファイルにも一括して同一作業を行う方法を、どなたかご教授くださいませんでしょうか?おそらくマクロを使うこととなるかもしれませんが、もしそうでしたらそのマクロについてもお教えいただけるとありがたいです。よろしくお願いいたします

  • エクセル内で複数の文字(50個ぐらい)を一括で検索したい

    タイトル通りなのですが、エクセル内の文字列で 特定の複数(50個ぐらい)の文字を一括検索したいのですが、 どうすれば 検索できますか? 決して検索後に、別の文字に置き換えや、 複数のエクセルを一括検索したいとまでは言いません。 一つのエクセル内で複数(50個ぐらい)の文字を検索し、 ヒットしてくれれば 後はヒットした文字列を手動で 削除していくので、検索できるだけで構わないです。 もちろん 贅沢を言えば、ヒットした文字列の 文字色or文字列の枠内か枠が色付きになってくれると ひと目でヒットしている場所が分かり、助かるのは 事実ですが、簡単に できる方法ってありますか? 複雑なマクロを使うことになるのでしょうか? どなたかご存知のかたがいらっしゃれば 教えていただけないでしょうか? なにぶん無知なほうなので、面倒かと思いますが、 具体的に教えていただけると幸いに思います。 どうぞよろしくお願い致します。

  • エクセル 複数ファイルの一括セル入力

    同じフォーマットを用いた複数のエクセルファイル(約200~3000)の編集作業で、 例えば、全てのファイルについて A1のセルに同じテキスト、数式、または関数を一括で入力する方法を探しています。 マクロを使えばできることなのだということは解りましたが、 マクロ初心者なので自分で作ることまではいたることができませんでした。 もしこの一連の作業のマクロ、もしくはフリーウェアなどご存知でしたら ご教授いただけますと幸いです。 宜しくお願いいたします。