Sub test250415()
Dim ar, br, cr As Variant, i, m, n, s, t, p, mm As Integer, d1, d2 As Object, kk, x
Set d1 = CreateObject("scripting.dictionary")
Set d2 = CreateObject("scripting.dictionary")
ar = Sheets("Sheet1").UsedRange
For i = 2 To UBound(ar)
d1(ar(i, 1) & ar(i, 2)) = d1(ar(i, 1) & ar(i, 2)) + 1
d2(ar(i, 1) & ar(i, 2) & "," & d1(ar(i, 1) & ar(i, 2))) = ar(i, 7)
Next
kk = "网格人员、经理、社会人员"
br = Sheets("评价").Range("a1:c" & Sheets("评价").[c65536].End(xlUp).Row)
For i = 2 To UBound(br)
For n = 1 To d1(br(i, 1) & br(i, 2))
s = d2(br(i, 1) & br(i, 2) & "," & n)
t = Len(s) - Len(WorksheetFunction.Substitute(s, "、", ""))
If t = 2 Then
cr = Split(s, "、")
For Each x In cr
If InStr(kk, x) > 0 Then
m = m + 1
End If
Next
If m = 3 Then
p = 0: m = 0: mm = mm + p
Else
p = 1: m = 0: mm = mm + p
End If
End If
Next
br(i, 3) = IIf(mm >= 1, 10, 0)
mm = 0
Next
Sheets("评价").[a1].Resize(UBound(br), UBound(br, 2)) = br
MsgBox "ok"
End Sub |