|
![](https://clubstatic.excelhome.net/image/common/ico_lz.png)
楼主 |
发表于 2023-2-7 19:28
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
对于sheet2的多条件查询,参考了版主的代码,不知道是否正确
- Sub 最接近的值查询()
- Sheet2.Activate
- Dim Arr, Brr, Str1$, Str2$, x, y
- Arr = Range("A1").CurrentRegion
- [I2:I10] = ""
- Brr = Range("F1").CurrentRegion
- For i = 2 To UBound(Brr)
- x = Arr(2, 4)
- y = Abs(Arr(2, 3) - Brr(i, 3))
- For j = 3 To UBound(Arr)
- Str1 = Brr(i, 1) & Brr(i, 2)
- Str2 = Arr(j, 1) & Arr(j, 2)
- If Str1 = Str2 Then
- If Abs(Arr(j, 3) - Brr(i, 3)) < y Then
- y = Abs(Arr(j, 3) - Brr(i, 3))
- x = Arr(j, 4)
- End If
- End If
- Next
- Brr(i, 4) = x
- Next
- Range("F1").Resize(UBound(Brr), 4) = Brr
- End Sub
复制代码
|
|