ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3685516 エクセルで複数文字を一括置換
質問者:saisainet エクセルファイルで例えば豊島区、練馬区、北区等の文字を東京に変換する場合はどういった方法があるでしょうか。
マクロで書けば可能だと思うのですが、私はスキルが無いため、書けません。
ご教授お願いいたします。
困り度:
  • すぐに回答を!
質問投稿日時:
08/01/16 17:06
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.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
回答者:merlionXX
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/01/17 13:41
この回答へのお礼ご回答いただきありがとうございました。
自分のしたいこともよく説明もできないでいたのに…
完璧でした。
本当にありがとうございます。

回答

ANo.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
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/01/17 13:28
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.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
回答者:merlionXX
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/01/16 18:28
この回答への補足ありがとうございます。エクセルを使えるとこんなことが出来るんですね。感動しました。

たとえば千代田区と中央区、港区を東京2とすることは可能でしょうか。
一度にご質問すればよかったのですが…何度もお手数をおかけします。よろしくお願いいたします。
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.1 んー・・マクロを記述するのもいいですが、手間を考えてみると普通に【置換】した方が早そうです

マクロで記述するにも「豊島区」「練馬区」「北区」「東京」と入力する必要がありますから
それならば、そのまま一つずつ置換で「すべて置換」を行ったほうが早いかな・・・と思います
マクロ(VBA)の知識も必要ありませんし、不要なマクロコードを残すこともありません


データを追加するたびに繰り返し実行する必要があるのであれば
「新しいマクロの記録」で操作手順をマクロとして記録することができます
置換を行う手順をこの「新しいマクロの記録」でマクロとして記録することで繰り返し実行することが可能になります
Excelのヘルプなどを参考に試してみてください
回答者:Cupper
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/01/16 17:27
この回答へのお礼ご回答いただきありがとうございます。
一度その方法を試みたのですが、実際には東京23区だけでなく関東一円の地域を変換しなければいけないので手間がかかりすぎて断念しました。
マクロを使う方法をご教授いただいていますのでそちらを試してみます。
また、わからないことがありましたらこちらにご相談させていただこうと思いますのでよろしくお願いいたします。