Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9380 / 13646 ツリー ←次へ | 前へ→

【27697】文字列検索 さとる 05/8/16(火) 17:09 質問[未読]
【27699】Re:文字列検索 Kein 05/8/16(火) 17:37 回答[未読]
【27742】Re:文字列検索 さとる 05/8/17(水) 16:42 お礼[未読]

【27697】文字列検索
質問  さとる  - 05/8/16(火) 17:09 -

引用なし
パスワード
     A     B
1 A1,晴れ  A1
2 晴れ,B3  B3
3 雨,A4   A4

A列に含まれている英字数字を抜き出してB列に表示する方法を教えてください

【27699】Re:文字列検索
回答  Kein  - 05/8/16(火) 17:37 -

引用なし
パスワード
   カンマで区切られているということなら、 対象セル範囲をループして
Split関数でカンマ区切りの配列を作ってから、先頭の文字が A-Z に該当するか判定して
処理する、というようなロジックも考えられますが、あえて何もマーキングできる文字
が無い、という前提でやるなら・・

Sub Get_MyString()
  Dim objRE As Object, Match As Object, Matches As Object
  Dim C As Range
  Dim CkSt As String, NewSt As String
 
  Set objRE = CreateObject("VBScript.RegExp")
  With objRE
   .Pattern = "\w"
   .Global = True
  End With
  For Each C In Range("A:A").SpecialCells(2)
   CkSt = C.Text
   If objRE.test(CkSt) Then
     Set Matches = objRE.Execute(CkSt)
     NewSt = ""
     For Each Match In Matches
      NewSt = NewSt & Match.Value
     Next
     Set Matches = Nothing
     C.Offset(, 1).Value = NewSt
   End If
  Next
  Set objRE = Nothing
End Sub

正規表現を使っています。

【27742】Re:文字列検索
お礼  さとる  - 05/8/17(水) 16:42 -

引用なし
パスワード
   ありがとうございます、無事順調に動いてくれました。

9380 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free