アクセス所要分数だけを隣列にだすよ
この説明は、ChatGPTで作成しています。
このプロシージャは、選択したセルのテキストから「○○分」という形式の数字を抽出し、その数字を隣の列に表示するものです。
仕組みの説明
画面更新の停止
```vba
Application.ScreenUpdating = False
```
画面の更新を一時停止して、処理速度を向上させます。正規表現オブジェクトの作成
```vba
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp") 'オブジェクト作成
```
正規表現を使うためのオブジェクトを作成します。変数の宣言
```vba
Dim myRng As Range
Dim txt As String
Dim match As Object
Dim i As Long
```正規表現の設定
```vba
With reg
.Pattern = "\d.*分"
.IgnoreCase = True
.Global = True
End With
```
この正規表現は、数字と「分」の組み合わせを探します。選択範囲の各セルについての処理
```vba
For Each myRng In Selection
txt = myRng.Value
Set match = reg.Execute(txt)
myRng.Offset(0, 1).Value = Replace(match(0).Value, "分", "")
Next myRng
```
- 各セルの値を取得します。
- 正規表現を使って「○○分」を抽出します。
- 抽出したテキストから「分」を取り除いて、隣のセルに表示します。画面更新の再開
```vba
Application.ScreenUpdating = True
```
最後に画面の更新を再開します。
これで、選択したセルの「○○分」を隣の列に数字だけで表示できます。
Excel VBA リファレンス | Microsoft Learn
キーワード:
#excel #できること #vba #時間抽出 #正規表現 #オブジェクト作成 #セル操作 #列操作 #データ抽出 #画面更新停止 #VBScript #正規表現オブジェクト #テキスト抽出 #分抽出 #隣の列 #値の置換 #VBA初心者 #業務効率化 #Excelマクロ #セル選択
Extract Travel Minutes
This explanation is created with ChatGPT.
This procedure extracts the number of minutes in the format "xx分" from the selected cells and displays the number in the adjacent column.
Explanation of the Mechanism
Stop Screen Updating
```vba
Application.ScreenUpdating = False
```
Temporarily stops screen updating to speed up the process.Create Regular Expression Object
```vba
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp") 'Create Object
```
Creates an object to use regular expressions.Declare Variables
```vba
Dim myRng As Range
Dim txt As String
Dim match As Object
Dim i As Long
```Set Regular Expression
```vba
With reg
.Pattern = "\d.*分"
.IgnoreCase = True
.Global = True
End With
```
This regular expression looks for combinations of numbers and "分".Process Each Cell in the Selection
```vba
For Each myRng In Selection
txt = myRng.Value
Set match = reg.Execute(txt)
myRng.Offset(0, 1).Value = Replace(match(0).Value, "分", "")
Next myRng
```
- Retrieves the value of each cell.
- Uses the regular expression to extract "xx分".
- Removes "分" from the extracted text and displays the number in the adjacent cell.Resume Screen Updating
```vba
Application.ScreenUpdating = True
```
Finally, resumes screen updating.
This allows you to display the number of minutes from the selected cells in the adjacent column.
Excel VBA Reference | Microsoft Learn
YouTube Video for this Article
Keywords:
#excel #vba #extracttime #regex #createobject #celloperation #coloperation #dataextraction #stopscreenupdating #VBScript #regexobject #textextraction #extractminutes #adjacentcolumn #replacingvalues #VBAbeginners #efficiency #Excelmacro #cellselection