- ベストアンサー
マクロで必要な文字だけ抜き出したい
- A1セルからA20セルまでの文字列から、ABCと黒または赤の文字列を取り出す方法を教えてください。
- マクロを使って、A1セルからA20セルまでの文字列から、ABCと黒または赤の文字列を取り出す方法について教えてください。
- Excelのマクロを使用して、A1セルからA20セルまでの文字列から、特定のパターンの文字列を取り出す方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
sub macro1() dim res as string dim h as range for each h in range("A1:A20") if h.value like "*ABC*" then res = res & "," & replace(mid(h.value, instr(h.value, "ABC") + 3), """", "") end if next res =mid(res, 2) msgbox res end sub とかで。
その他の回答 (1)
- WindFaller
- ベストアンサー率57% (465/803)
こんばんは。 これは、正規表現を使った取得で、日本字は「[ぁ-んァ-ヶ一-龠]+」で、意味は文字コードの範囲を示したもので、ひらがな、カタカナ、漢字とありますが、漢字コードは、Unicode全部は網羅していないけれども、常識的な範囲までにしました。もちろん、漢字だけなら、[一-龠]+ だけになります。 '// Sub Test1() Dim c As Range Dim Matches As Object Dim n As Variant Dim strBuf As String With CreateObject("VBScript.RegExp") .Pattern = "ABC""([ぁ-んァ-ヶ一-龠]+)""" 'パターン .Global = True For Each c In Range("A1:A20") If c.Value <> "" Then Set Matches = .Execute(c.Value) If Matches.Count > 0 Then For Each n In Matches strBuf = strBuf & "," & .Replace(n, "$1") Next n End If End If Next c End With MsgBox Mid(strBuf, 2) End Sub '//
お礼
回答ありがとうございます。 実現できることが確認できました。
お礼
回答ありがとうございます。 確認できました。