【エクセルマクロ】括弧に囲まれた文字抽出:コピペで使えるコード

vba-括弧に囲まれた文字抽出-アイキャッチ ExcelVBA

エクセルマクロで、括弧で囲まれた文字を取得するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。

括弧に囲まれた文字抽出

以下のExcelVBAを実行すると、括弧内の文字だけ抽出します。


Sub 括弧の中身の値を一括転記()

Dim i As Long
Dim j As Long
Dim s As Long
Dim e As Long
Dim Target As String
Dim TempChar As String
Dim k1 As String
Dim k2 As String
Dim Chk As Boolean
Dim Cnt As Long

    k1 = "("
    k2 = ")"
    
    Application.ScreenUpdating = False
    
    '1~9行目までループ
    For i = 1 To 9
    
        'A列の値を変数格納
        Target = Cells(i, 1)
        
        '転記開始列
        Cnt = 1

        'セルを1文字ずつループ
        For j = 1 To Len(Target)

            '1文字ずつ変数へ
            TempChar = Mid(Target, j, 1)
            
            '括弧の始まりだったら
            If TempChar = k1 Then
                Chk = False
                s = j
            '括弧の終わりだったら
            ElseIf TempChar = k2 Then
                Chk = True
                e = j
            End If

            'B列から転記
            If Chk = True Then
                Cells(i, Cnt + 1) = Mid(Cells(i, 1), s + 1, (e - s) - 1)
                Cnt = Cnt + 1
                Chk = False
            End If

        Next j
    Next i
    
    Application.ScreenUpdating = True
    
End Sub

 

マクロ実行後

A列で括弧の間にある文字を、B列以降に抽出します。

括弧が複数ある場合も、抽出可能です。


 
 

括弧の種類を指定する方法

[“ と “]” で囲まれた文字列から、括弧の中身を抽出する場合は、

変数 [k1] と [k2] を以下のように指定します。

k1 = “[”
k2 = “]”

 

この記事がお役に立ちますと幸いです。
 

【エクセルマクロ】シートの追加・削除を自動化:超便利12選
...

 

「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説