Private Sub CommandButton1_Click()
Dim m As Integer, n As Integer, i As Integer, y As Single, rng As Range
Cells.Interior.Pattern = xlNone
m = Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To m
n = Cells(i, Columns.Count).End(xlToLeft).Column
y = Application.WorksheetFunction.Min(Range(Cells(i, "h"), Cells(i, n)))
Set rng = Range(Cells(i, "h"), Cells(i, n)).Find(y, , xlValues, xlWhole)
rng.Interior.ColorIndex = i
Next
End Sub
代码如上,调试的时候能找到最小值y,在确定单元格的时候却是nothing ,所以无法给要选定的单元格添加颜色,请教高手
这是由于浮点数的原因引起的。
建议在这种情况下,不要使用 y 作为“中转”方式来调用,直接把 Min 函数代入在这里即可:
Set rng = Range(Cells(i, "h"), Cells(i, n)).Find(Application.WorksheetFunction.Min(Range(Cells(i, "h"), Cells(i, n))), , xlValues, xlWhole)
追问你好,我试了这个办法也不行,但是我今天测试的时候发现一个问题,就是如果y值是整数的时候就行,比如16,如果换成15.60就不行了,不知道什么原因,请帮忙分析一下,谢谢。
追答所以说浮点数引起的问题!
刚才我已经测试了这段代码,改了几个浮点数,试过都成功了!
刚才又仔细看了你的代码,可能还与你的代码循环查找有关系(Excel 可以会记住上一次查找的地址)。那样子的话,那你应该把 Find 的参数 After 加上再试试看!比如让 After: = Cells(i, n)