用這個:
Sub AAA()
Dim I As Long, N As Long, M As Long
Dim Max As Single, Ar, Br
Columns("I:M").ClearContents
Ar = Range("A2:F" & [A65536].End(3).Row)
Br = Range("G2:M6")
For I = 1 To UBound(Ar)
Select Case Ar(I, 1)
Case Br(1, 1) To Br(1, 2)
N = 1
Case Br(2, 1) To Br(2, 2)
N = 2
Case Br(3, 1) To Br(3, 2)
N = 3
Case Br(4, 1) To Br(4, 2)
N = 4
Case Br(5, 1) To Br(5, 2)
N = 5
Case Else
N = 0
End Select
If N <> 0 Then
Br(N, 3) = Ar(I, 2) + Br(N, 3)
Br(N, 4) = Ar(I, 3) + Br(N, 4)
Br(N, 5) = Ar(I, 4) + Br(N, 5)
Br(N, 6) = Ar(I, 5) + Br(N, 6)
Br(N, 7) = Ar(I, 6) + Br(N, 7)
End If
Next
For I = 1 To 5
Max = 0
For N = 3 To 7
If Br(I, N) > Max Then Max = Br(I, N)
Next
Br(I, 3) = Max
Next
Range("G2:I6") = Br
End Sub
不用下面這個。
Sub AAA() Dim I As Long, N As Long, M As Long
Dim Max As Single, Ar, Br
Columns("I").ClearContents
Ar = Range("A2:F" & [A65536].End(3).Row)
Br = Range("G2:M6")
N = 1
For I = 1 To UBound(Ar)
Select Case Ar(I, 1)
Case Br(1, 1) To Br(1, 2)
N = 1
Case Br(2, 1) To Br(2, 2)
N = 2
Case Br(3, 1) To Br(3, 2)
N = 3
Case Br(4, 1) To Br(4, 2)
N = 4
Case Br(5, 1) To Br(5, 2)
N = 5
Case Else
N = 0
End Select
If N <> 0 Then
Br(N, 3) = Ar(I, 2) + Br(N, 3)
Br(N, 4) = Ar(I, 3) + Br(N, 4)
Br(N, 5) = Ar(I, 4) + Br(N, 5)
Br(N, 6) = Ar(I, 5) + Br(N, 6)
Br(N, 7) = Ar(I, 6) + Br(N, 7)
End If
Next
For I = 1 To 5
Max = 0
For N = 3 To 7
If Br(I, N) > Max Then Max = Br(I, N)
Next
Br(I, 3) = Max
Next
Range("G2:I6") = Br
End Sub