- ベストアンサー
エクセルで複数文字を一括置換
エクセルファイルで例えば豊島区、練馬区、北区等の文字を東京に変換する場合はどういった方法があるでしょうか。 マクロで書けば可能だと思うのですが、私はスキルが無いため、書けません。 ご教授お願いいたします。
- みんなの回答 (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
その他の回答 (3)
- merlionXX
- ベストアンサー率48% (1930/4007)
> 千代田区と中央区、港区を東京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)
東京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
補足
ありがとうございます。エクセルを使えるとこんなことが出来るんですね。感動しました。 たとえば千代田区と中央区、港区を東京2とすることは可能でしょうか。 一度にご質問すればよかったのですが…何度もお手数をおかけします。よろしくお願いいたします。
- Cupper
- ベストアンサー率32% (2123/6444)
んー・・マクロを記述するのもいいですが、手間を考えてみると普通に【置換】した方が早そうです マクロで記述するにも「豊島区」「練馬区」「北区」「東京」と入力する必要がありますから それならば、そのまま一つずつ置換で「すべて置換」を行ったほうが早いかな・・・と思います マクロ(VBA)の知識も必要ありませんし、不要なマクロコードを残すこともありません データを追加するたびに繰り返し実行する必要があるのであれば 「新しいマクロの記録」で操作手順をマクロとして記録することができます 置換を行う手順をこの「新しいマクロの記録」でマクロとして記録することで繰り返し実行することが可能になります Excelのヘルプなどを参考に試してみてください
お礼
ご回答いただきありがとうございます。 一度その方法を試みたのですが、実際には東京23区だけでなく関東一円の地域を変換しなければいけないので手間がかかりすぎて断念しました。 マクロを使う方法をご教授いただいていますのでそちらを試してみます。 また、わからないことがありましたらこちらにご相談させていただこうと思いますのでよろしくお願いいたします。
お礼
ご回答いただきありがとうございました。 自分のしたいこともよく説明もできないでいたのに… 完璧でした。 本当にありがとうございます。