• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロで必要な文字だけ抜き出したい)

マクロで必要な文字だけ抜き出したい

このQ&Aのポイント
  • A1セルからA20セルまでの文字列から、ABCと黒または赤の文字列を取り出す方法を教えてください。
  • マクロを使って、A1セルからA20セルまでの文字列から、ABCと黒または赤の文字列を取り出す方法について教えてください。
  • Excelのマクロを使用して、A1セルからA20セルまでの文字列から、特定のパターンの文字列を取り出す方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

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 とかで。

mk1234
質問者

お礼

回答ありがとうございます。 確認できました。

その他の回答 (1)

回答No.2

こんばんは。 これは、正規表現を使った取得で、日本字は「[ぁ-んァ-ヶ一-龠]+」で、意味は文字コードの範囲を示したもので、ひらがな、カタカナ、漢字とありますが、漢字コードは、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 '//

mk1234
質問者

お礼

回答ありがとうございます。 実現できることが確認できました。

関連するQ&A