|
VBA初心者さん、こんばんわ。
>String型の文字列から、単語を抽出する方法について質問があります。
>
>例)
>"this is a pen"から「this」と「is」と「a」と「pen」を
>抽出する。
>※空白は複数個ある場合もある。
>
>良い抽出方法がありましたら、ご教示お願いします。
Split関数でちぎってみました。
Sub test()
Dim s1 As String, msg As String, dt As Variant, II As Integer
s1 = "this is a pen"
'とりあえずちぎる
dt = Split(s1, " ", compare:=vbTextCompare)
'空白除外
For II = LBound(dt) To UBound(dt)
If Trim(dt(II)) <> "" Then msg = msg & vbCrLf & dt(II)
Next
'結果表示
If Trim(msg) <> "" Then
MsgBox "Result:" & msg, vbExclamation, s1
Else
MsgBox "?", vbExclamation, s1
End If
End Sub
区切り位置を使って簡単に。
Sub Macro1()
With Range("A1")
'値
.Value = "this is a pen"
'データ→区切り位置→空白
.TextToColumns Destination:=.Offset(0, 0), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Space:=True
End With
End Sub
こんな感じです。
|
|