【发布时间】:2015-01-06 13:12:01
【问题描述】:
- 我想在 Excel 范围内查找最小值和最大值
- 仅在有颜色的黄色单元格中,不考虑没有颜色的单元格来查找最大值和最小值**
- 彩色单元格的范围是范围 A:A**
我已经编写了这段代码,但它只返回 D5 和 E5 单元格中的一个空单元格。
有人知道我在这里缺少什么吗?
非常感谢
编辑
我进行了调试,所有变量都是空的,除了 amarelosMin 和 i_max 的值都为 2 - 我不明白为什么。
我在 A:A 中的范围值从 1 到 20,黄色的值是 2、3、4 和 5。如果代码正确,它应该给我 2 和 5,有最小值和最大值。
Dim amarelosMin As Range
Dim vAmarelosmMin As Variant
ReDim vAmarelosmMin(Range("A1:A3").Rows.count - 1)
For Each amarelosMin In ActiveSheet.Range("A:A")
If amarelosMin.Interior.ColorIndex = 6 Then
i_min = LBound(vAmarelosmMin)
i_max = UBound(vAmarelosmMin)
Max = vAmarelosmMin(i_min)
Min = vAmarelosmMin(i_min)
For i = i_min + 1 To i_max
If vAmarelosmMin(i) > Max Then
Max = vAmarelosmMin(i)
ElseIf vAmarelosmMin(i) < Min Then
Min = vAmarelosmMin(i)
End If
Next
End If
Next amarelosMin
ActiveSheet.Range("C5") = "Minimo dos valores a amarelo"
ActiveSheet.Range("D5") = Min
ActiveSheet.Range("E5") = Max
【问题讨论】:
-
是的,我的颜色指数测试是正确的,6 是黄色。另外,我有一段代码将所有黄色值相加,并且可以很好地使用同一行代码进行测试。
-
您在 A 列中查看的实际范围是多少?
-
A2:A5,值为 2,3,4,5。这是黄色范围。