![見出し画像](https://assets.st-note.com/production/uploads/images/149407690/rectangle_large_type_2_c219e58646c7f865170484399d06338b.png?width=1200)
丁目だけをハイフンに置換するよ
この説明は、ChatGPTで作成しています。
このプロシージャは、選択したセル範囲内の住所データで「○丁目」を「○-」に置き換えるものです。例えば、「3丁目」が「3-」に変わります。
説明
画面更新の停止
`Application.ScreenUpdating = False` は、処理中に画面の更新を停止して、動作を速くします。
正規表現オブジェクトの作成
`CreateObject("VBScript.RegExp")` で正規表現を使うためのオブジェクトを作成します。
正規表現の設定
`Pattern` で探したいパターンを指定します。この場合、数字(1〜2桁)の後に「丁目」が続くパターンを指定しています。
`IgnoreCase` を `True` に設定して、大文字小文字の区別を無くします。
`Global` を `True` に設定して、セル内のすべての一致する部分を置き換えます。
選択範囲内の各セルに対して処理を実行
`For Each myRng In Selection` で選択したセル範囲内の各セルに対してループを回します。
`txt = myRng.Value` でセルの値を取得します。
`txt = reg.Replace(txt, "$1-")` で正規表現を使って「丁目」をハイフンに置き換えます。
`myRng.Value = txt` で変更後の値をセルに戻します。
画面更新の再開
最後に `Application.ScreenUpdating = True` で画面更新を再開します。
これにより、選択したセル範囲内の「○丁目」が「○-」に置き換えられます。
Keywords: #Excel #できること #VBA #正規表現 #文字列置換 #セル範囲 #住所データ #ハイフン #置換 #VBAスクリプト #データ処理 #自動化 #効率化 #データクリーニング #テキスト操作 #正規表現オブジェクト #スクリーン更新停止 #エラー回避 #VBScript #Excel操作
Sub 丁目だけをハイフンに置換するよ
This explanation is created with ChatGPT.
This procedure replaces "丁目" in the selected cell range with "-". For example, "3丁目" will be changed to "3-".
Explanation
Stop Screen Updating
`Application.ScreenUpdating = False` stops screen updates during processing to speed up performance.
Create Regular Expression Object
`CreateObject("VBScript.RegExp")` creates an object for using regular expressions.
Set Regular Expression
`Pattern` specifies the pattern to search for, in this case, a one to two-digit number followed by "丁目".
`IgnoreCase` is set to `True` to make the search case-insensitive.
`Global` is set to `True` to replace all matches within a cell.
Process Each Cell in the Selected Range
`For Each myRng In Selection` loops through each cell in the selected range.
`txt = myRng.Value` gets the value of the cell.
`txt = reg.Replace(txt, "$1-")` uses the regular expression to replace "丁目" with a hyphen.
`myRng.Value = txt` puts the changed value back into the cell.
Resume Screen Updating
Finally, `Application.ScreenUpdating = True` resumes screen updating.
This changes "丁目" to "-" in the selected cell range.
Keywords: #Excel #what_you_can_do #VBA #regular_expression #string_replacement #cell_range #address_data #hyphen #replacement #VBA_script #data_processing #automation #efficiency #data_cleaning #text_manipulation #regular_expression_object #stop_screen_updating #error_handling #VBScript #Excel_operations
この記事が気に入ったらサポートをしてみませんか?