| 
    
     |  | ▼UO3 さん: 
 おはようございます。
 返信ありがとうございました。
 
 実際に試してみまして、見事に件数がカウントされていました。
 
 >  re.Pattern = "\d*件{0,1}発生"
 この部分で{0,1}がどういった表現なのでしょうか。
 よく理解できませんでした。
 
 頭の中ではこうすればいいのかなぁとか創造は出来るのですが、
 実際に表現してみるという事聞いてくれなくて苦労しています。
 今後も勉強に励みたいと思います。
 ありがとうございました。
 
 
 >▼コンソール さん:
 >
 >おはようございます
 >
 >○○○発生 と nnn件発生 をわけてチェックした方がいいかとは思うのですが
 >横着に、あわせた形でチェックしています。(まぁ、問題ないとは思いますが)
 >C列に各インシデント毎の件数をセット。
 >合計を最後にメッセージで表示します。
 >
 >正規表現というものを使っていますので、少しわかりにくいかもしれませんが。
 >
 >Sub Sample()
 >  Dim re As Object
 >  Dim ms As Object
 >  Dim m As Object
 >  Dim c As Range
 >  Dim cnt As Long
 >  Dim d As String
 >  Dim x As Long
 >
 >  Set re = CreateObject("VBSCript.RegExp")
 >  re.Pattern = "\d*件{0,1}発生"
 >
 >  Columns("C").ClearContents
 >
 >  For Each c In Range("B1", Range("B" & Rows.Count).End(xlUp))
 >    If Len(c.Value) > 0 Then
 >
 >      Set ms = re.Execute(c.Value)
 >      If ms.Count > 0 Then
 >        d = ms.Item(0)
 >        x = Val(d)
 >        If x = 0 Then x = 1
 >        c.Offset(, 1).Value = x
 >        cnt = cnt + x
 >      End If
 >
 >    End If
 >  Next
 >
 >  MsgBox "発生件数は " & cnt & " 件でした"
 >
 >End Sub
 
 |  |