|
請教老師
有一個以下的表
班別 姓名 1月
A a 甲
A b 乙
A c 甲
A d 乙
B e 丙
B f 丙
B g 甲
C h 丙
C i 乙
C j 甲
C k 丙
如果用函數SUMPRODUCT的方式可以求出以下的結果
班別 甲 乙 丙
A 2 2 0
B 1 0 2
C 1 1 1
但如果用vba應該如何寫比較好?
因我不希望用range("m1")= "=sumproduct..........." 的方式
本帖最后由 爱疯 于 2011-10-26 19:17 编辑
- Sub test()
- Dim A, B, i%, j%, k%
- With Sheets("sheet1")
- A = .Range("a1:C" & .Range("a65536").End(xlUp).Row)
- End With
- With Sheets("sheet2")
- B = .Range("a1:d" & .Range("a65536").End(xlUp).Row)
- End With
- For i = 2 To UBound(B)
- For j = 2 To UBound(B, 2)
- B(i, j) = 0
- For k = 2 To UBound(A)
- If A(k, 1) = B(i, 1) And A(k, 3) = B(1, j) Then
- B(i, j) = B(i, j) + 1
- End If
- Next k
- Next j
- Next i
- Sheets("sheet2").Cells(1, 1).Resize(UBound(B), UBound(B, 2)) = B
- End Sub
复制代码
工作簿2.rar
(9.59 KB, 下载次数: 15)
|
|