全角スラッシュで囲まれた文章を削除するよ
この説明は、ChatGPTで作成しています。
このプロシージャは、Excelのセル内にある全角スラッシュ(「/」と「\」)で囲まれた文章を自動的に削除するものです。
仕組みの説明
画面の更新を一時的に停止して、作業中に画面がちらつかないようにします。
VBScript.RegExp という機能を使って、正規表現を扱うオブジェクトを作成します。このオブジェクトは、特定のパターンに一致するテキストを検索・置換するために使います。
正規表現パターン「/([\s\S]*?)\」を設定します。このパターンは、全角スラッシュで囲まれた任意の文字列を対象とします。
「[\s\S]*?」の部分は、改行を含むすべての文字を意味しています。
選択範囲の各セルに対して、以下の処理を行います。
セルのテキストを取得し、正規表現を使って該当する部分を削除します。
削除後、セルのテキストを更新します。
もしセルの先頭に改行が残っていた場合、それを削除して、セルのテキストを整えます。
最後に、画面の更新を再開します。
このプロシージャを使うことで、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
Temporarily stop screen updates to prevent flickering during the process.
Create an object using VBScript.RegExp to handle regular expressions. This object is used to search and replace text that matches a specific pattern.
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.
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.
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自動化 #できること