|
楼主 |
发表于 2014-7-28 11:32
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 aoe1981 于 2014-7-28 11:35 编辑
wzsy2_mrf 发表于 2014-7-28 10:09
扫描一遍就可以了。
不好意思,前面的说法有点漏洞,应当与2倍的最大值比较,防止目标数据就是最大值本身!代码修改为(可以减少首次行号预赋值的代码):- Sub aa1() '网友提供,精彩方法
- Dim arr, myrow&, mMin&, myval&, i&
- arr = Range("A2").CurrentRegion
- myval = Cells(1, 4)
- mMin = Abs(WorksheetFunction.Max(arr) * 2 - myval)
- For i = 1 To UBound(arr)
- If Abs(arr(i, 1) - myval) < mMin Then mMin = Abs(arr(i, 1) - myval): myrow = i
- Next
- MsgBox "第一次出现最接近的行:" & myrow
- End Sub
复制代码 |
|