見出し画像

全角スラッシュで囲まれた文章を削除するよ

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

このプロシージャは、Excelのセル内にある全角スラッシュ(「/」と「\」)で囲まれた文章を自動的に削除するものです。

仕組みの説明

  1. 画面の更新を一時的に停止して、作業中に画面がちらつかないようにします。

  2. VBScript.RegExp という機能を使って、正規表現を扱うオブジェクトを作成します。このオブジェクトは、特定のパターンに一致するテキストを検索・置換するために使います。

  3. 正規表現パターン「/([\s\S]*?)\」を設定します。このパターンは、全角スラッシュで囲まれた任意の文字列を対象とします。

    • 「[\s\S]*?」の部分は、改行を含むすべての文字を意味しています。

  4. 選択範囲の各セルに対して、以下の処理を行います。

    • セルのテキストを取得し、正規表現を使って該当する部分を削除します。

    • 削除後、セルのテキストを更新します。

    • もしセルの先頭に改行が残っていた場合、それを削除して、セルのテキストを整えます。

  5. 最後に、画面の更新を再開します。

このプロシージャを使うことで、Excel内のデータから簡単に不要な部分を取り除くことができます。特に、多くのセルに同じパターンで囲まれた文字列がある場合、手作業ではなく一括で処理できるので便利です。

Sub 全角スラッシュで囲まれた文章を削除するよ()
    Application.ScreenUpdating = False
            
    Dim reg
    Set reg = CreateObject("VBScript.RegExp")   'オブジェクト作成
    Dim myRng As Range
    Dim txt As String
    Dim i As Long
    With reg
        .Pattern = "/([\s\S]*?)\"
        .IgnoreCase = True
        .Global = True
    End With
    On Error Resume Next
    For Each myRng In Selection
            txt = myRng.Value
            txt = reg.Replace(txt, "")
            myRng.Value = txt
            If InStr(myRng, vbLf) = 1 Then
                myRng = Mid(myRng, 2)
            End If
    Next myRng
    Application.ScreenUpdating = True
End Sub

English Translation

Deleting Text Enclosed by Full-width Slashes

This explanation is created by ChatGPT.

This procedure automatically removes text enclosed by full-width slashes ("/" and "\") within cells in Excel.

Explanation of How It Works

  1. Temporarily stop screen updates to prevent flickering during the process.

  2. Create an object using VBScript.RegExp to handle regular expressions. This object is used to search and replace text that matches a specific pattern.

  3. Set up the regular expression pattern as "/([\s\S]*?)\". This pattern targets any text enclosed by full-width slashes.

    • The "([\s\S]*?)" part allows for matching any characters, including line breaks.

  4. For each cell in the selected range, the following steps are performed:

    • Retrieve the cell’s text and remove the matching parts using the regular expression.

    • Update the cell’s text after the removal.

    • If the text begins with a line break, remove it to clean up the cell’s content.

  5. Finally, resume screen updates.

This procedure is useful for quickly removing unnecessary parts of data in Excel, especially when dealing with multiple cells containing the same pattern. It’s much more efficient than manually editing each cell.


ハッシュタグ:
#excel #vba #正規表現 #自動化 #データ編集 #テキスト処理 #選択範囲 #セル編集 #スクリプト #プログラミング #置換 #文字列操作 #作業効率化 #データ整理 #全角スラッシュ #テキスト削除 #VBScript #セルの内容 #Excel自動化 #できること

いいなと思ったら応援しよう!