EXCEL中怎样用VBA分组求解?

来源:百度知道 编辑:UC知道 时间:2024/05/17 13:53:25
不好意思,题目字数太短了,肯定没说明白,是吧!
下表中:
A列是唯一值;
B列是人物的名字,可能会有重复,但是都按照序列排好了,不会有交叉的情况;
C列D列是人物在地图上的坐标(二维XY坐标系),一个人物可能对应多组坐标;
E列F列,我希望用VBA自动完成数据,用来存放每个人物的X坐标最大值和Y坐标最大值。比如E2等于C2:C4的最大值:2345;F2等于D2:D4的最大值:634。同一个人物中,只有第一列有X最大值和Y最大值,剩下几列空白。
我现在能够做到选中一个Range并返回最大值,但不会按照人名自动返回每个人物的最大值。赐教。

Private Sub CommandButton1_Click()
i = 2
Do While Range("B" & i).Value > ""
If i = 2 Or Range("B" & i).Value <> Range("B" & i - 1).Value Then
k = i
Range("E" & i).Value = Range("C" & i).Value
Range("F" & i).Value = Range("D" & i).Value
Else
If Range("C" & i).Value > Range("E" & k).Value Then
Range("E" & k).Value = Range("C" & i).Value
End If
If Range("D" & i).Value > Range("F" & k).Value Then
Range("F" & k).Value = Range("D" & i).Value
End If
End If
i = i + 1
Loop
End Sub