
エクセル2013を使用しています。
とあるデータの住所列の「丁目」「番」「号」「番地」を「-(半角)」か削除したいのです。
例:住所列を「A列」とします。
1、○○市○○1丁目2番3号
2、○○市○○2番3号
3、○○市○○2番地3
4、○○市○○2番地
Dim i As Long
Dim LastRow As Long
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To LastRow
Cells(i, 1) = Replace(Cells(i, 1), "丁目", "-")
Cells(i, 1) = Replace(Cells(i, 1), "番", "-")
Cells(i, 1) = Replace(Cells(i, 1), "地", "")
Cells(i, 1) = Replace(Cells(i, 1), "号", "")
Next i
End Sub
1の「丁目」は Replace を使って「-(半角)」にし、「号」は削除してOKになります。
残りの2と3だけならば、「番」も「-(半角)」に、「地」は削除すれば済むのですが、
そうすると、4が「○○市○○2-」となってしまいます。
最後の「-」を削除する記述を考え、探してもみたのですが分かりませんでした。
変換の方法でも、最後の「-」を削除する方法でも良いのでお教えいただけないでしょうか?
よろしくお願いいたします。m(__)m
No.4
- 回答日時:
こんばんは!
一例です。
Sub Sample1()
Dim i As Long, k As Long, myAry As Variant
'//まず一気に置換//
myAry = Array("丁目", "番", "地", "号")
With Range("A:A")
For k = 0 To UBound(myAry)
If k < 2 Then
.Replace what:=myAry(k), replacement:="-"
Else
.Replace what:=myAry(k), replacement:=""
End If
Next k
End With
'//最後一文字が「-」の場合の処理//
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
With Cells(i, "A")
If Right(.Value, 1) = "-" Then
.Value = Replace(.Value, Right(.Value, 1), "")
End If
End With
Next i
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Excel(エクセル) マクロで最終行から上に検索を逆にしたい 1 2022/05/17 18:27
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) vba 重複データ合算 5 2023/07/05 18:55
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Youtubeの書き起こしの機能につ...
-
質問の削除
-
もう関わりたくない人がいたらL...
-
Yahooフリマってどれくらい時間...
-
2度と連絡とらないとお互い納得...
-
【エクセル】セル内の右側のみ...
-
文字列末尾のスペースを削除したい
-
アメーバ ピグ ピグともが勝...
-
動的に生成したボタンのイベン...
-
時間を設定してデータを削除したい
-
バッチファイルを使用したsql@p...
-
教えてgooでコメントしてすぐ消...
-
教えてgoo、削除基準の不思議
-
マイクロソフトのOffice2019年...
-
エクセルで下の空白行を削除したい
-
Babylonの削除について
-
Windows 10でMS-IMEを削除できない
-
BA狙いで
-
MS Natural Input 2002を削除、...
-
Googleの自動翻訳の削除の仕方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Yahooフリマってどれくらい時間...
-
指定した文字があった場合、そ...
-
告白してフラれた相手の連絡先...
-
VBA:Openステートメントで開い...
-
mp3の埋め込み画像の削除ができ...
-
バッチファイルを使用したsql@p...
-
喧嘩をしてLINE削除され、 また...
-
今日の日付が過ぎたらその行を...
-
エクセルで住所の混在する「丁...
-
Windows11に残されたWindows10...
-
もう関わりたくない人がいたらL...
-
【エクセル】セル内の右側のみ...
-
アクセスにおいて間違って削除...
-
VBA IF文でORを使ったとき後ろ...
-
エクセルVBAで行削除時にエラー...
-
ポケモンGOについて質問したい...
-
エクセルで下の空白行を削除したい
-
(Access)複数条件の重複デー...
-
投稿した書き込みの削除の方法...
-
メーリングリストから特定の人...
おすすめ情報