A列の様にURLが入っているなかから、ドメイン名だけをパターンマッチで取り出し、メッセージボックスで表示し、また、B列にも記入するマクロ
A | B | |
---|---|---|
1 | https://kenlog.net/category/excel/ | |
2 | https://www.google.co.jp/ |
A | B | |
---|---|---|
1 | https://kenlog.net/category/excel/ | kenlog.net |
2 | https://www.google.co.jp/ | www.google.co.jp |
Sub RegExpSample() Dim RE, reMatch Dim strPattern As String Dim i As Long Dim msg As String Dim matchString As String Set RE = CreateObject("VBScript.RegExp") strPattern = "https?://([^/]+)/" '検索パターン:ドメイン名の部分を()でグルーピング化 With RE .Pattern = strPattern .IgnoreCase = True '大文字と小文字を区別する .Global = False '1回目のマッチで終了 For i = 1 To ActiveSheet.UsedRange.End(xlDown).Row 'データが有る最終行まで Set reMatch = .Execute(Cells(i, 1)) 'A列で検索実行 If reMatch.Count > 0 Then 'マッチ matchString = reMatch(0).Submatches(0) '検索パターンのグルーピング化[()内] msg = msg & matchString & vbCrLf Cells(i, 2).Value = matchString 'B列に入れる End If Next i End With MsgBox msg Set reMatch = Nothing Set RE = Nothing End Sub