考虑兼职等情况,爱版的代码可修改如下:- Sub test()
- Dim A, B, i, j, k
- Sheets(2).[c4:n8] = ""
- A = Sheets(1).Range("a1").CurrentRegion
- B = Sheets(2).Range("a1").CurrentRegion
- For k = 3 To UBound(A)
- For i = 4 To UBound(B)
- If A(k, 8) = B(i, 1) And A(k, 9) = B(i, 2) Then
- For j = 3 To UBound(B, 2) Step 3
- If A(k, 6) = B(3, j) Then
- B(i, j) = B(i, j) + 1
- If A(k, 7) = B(3, j + 1) Then B(i, j + 1) = B(i, j + 1) + 1
- If A(k, 7) = B(3, j + 2) Then B(i, j + 2) = B(i, j + 2) + 1
- End If
- Next j
- End If
- Next i
- Next k
- Sheets(2).[a1].Resize(UBound(B), UBound(B, 2)) = B
- End Sub
复制代码 |