こんばんは!
正規表現とは言い難いかもしれませんが・・・
一例です。
元データはA列1行目以降にあるとして、B列に表示させるとします。
(アルファベットのA~zの単なる抜き出しです。)
Sub test()
Dim i, k As Long
Dim str, buf As String
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For k = 1 To Len(Cells(i, 1))
str = Mid(Cells(i, 1), k, 1)
If str Like "[A-z]" Then
buf = buf & str
End If
Next k
Cells(i, 2) = buf
buf = ""
Next i
Application.ScreenUpdating = True
End Sub
※ 質問では
>マッチした部分を隣りのセルに移動させる
とありますので、その場合は↓のコードでマクロを試してみてください。
Sub test2()
Dim i, k As Long
Dim str, buf As String
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For k = 1 To Len(Cells(i, 1))
str = Mid(Cells(i, 1), k, 1)
If str Like "[A-z]" Then
buf = buf & str
Cells(i, 1) = Replace(Cells(i, 1), str, "*")
End If
Next k
Cells(i, 1) = WorksheetFunction.Substitute(Cells(i, 1), "*", "")
Cells(i, 2) = buf
buf = ""
Next i
Application.ScreenUpdating = True
End Sub
あくまで一例ですので、これがベストだという訳ではありません。m(_ _)m
お礼
返信がおそくなりすみません ほとんどの記述を参考にさせてもらいました ありがとうございました