2017-08-11 158 views
0

Iam编写vba代码以检查数据范围中最接近的值。查找VBA中列数据中最接近的值

实施例:在该工作表( “Sheet6”)1具有值31.848 和工作表( “Z73”)1具有列表中的值 65.47 31.74 54.56 0.16 35.71 26.78 56.54 47.62 39.68 1.55 15.87 32.55 17.86

所以我需要取最接近31.848的值。

请帮我用宏代码来做到这一点。

+0

你已经试过了什么代码? – braX

+0

如果您的数字按升序排序,您可以使用“MATCH”返回小于您的号码的最大号码(在您的示例中为31.74)。 –

回答

0

一般的解决问题的方法如下所示):

A = 31.848 
for each value in your list: 
    if |A - B| < C then 
    C = |A - B| 
    end if 
next value 

您的解决方案将存储在C

这是伪代码,它不会解决你的问题。

至于实际的代码,正如@braX正确地陈述的那样,我们需要知道你到目前为止所尝试的是什么,你被困在哪里以及你的vba技能是什么,所以我们知道从哪里开始接受我们的帮助。