|
▼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
|
|