|
▼コンソール さん:
おはようございます
○○○発生 と 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
|
|