見出し画像

丁目だけをハイフンに置換するよ

この説明は、ChatGPTで作成しています。

このプロシージャは、選択したセル範囲内の住所データで「○丁目」を「○-」に置き換えるものです。例えば、「3丁目」が「3-」に変わります。

説明

  1. 画面更新の停止

    • `Application.ScreenUpdating = False` は、処理中に画面の更新を停止して、動作を速くします。

  2. 正規表現オブジェクトの作成

    • `CreateObject("VBScript.RegExp")` で正規表現を使うためのオブジェクトを作成します。

  3. 正規表現の設定

    • `Pattern` で探したいパターンを指定します。この場合、数字(1〜2桁)の後に「丁目」が続くパターンを指定しています。

    • `IgnoreCase` を `True` に設定して、大文字小文字の区別を無くします。

    • `Global` を `True` に設定して、セル内のすべての一致する部分を置き換えます。

  4. 選択範囲内の各セルに対して処理を実行

    • `For Each myRng In Selection` で選択したセル範囲内の各セルに対してループを回します。

    • `txt = myRng.Value` でセルの値を取得します。

    • `txt = reg.Replace(txt, "$1-")` で正規表現を使って「丁目」をハイフンに置き換えます。

    • `myRng.Value = txt` で変更後の値をセルに戻します。

  5. 画面更新の再開

    • 最後に `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

  1. Stop Screen Updating

    • `Application.ScreenUpdating = False` stops screen updates during processing to speed up performance.

  2. Create Regular Expression Object

    • `CreateObject("VBScript.RegExp")` creates an object for using regular expressions.

  3. 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.

  4. 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.

  5. 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

この記事が気に入ったらサポートをしてみませんか?