查找数组中的最后一个单元格值
Find last cell value in array
我正在寻找一个 vba 代码来查找列中数组中的最后一个值。函数 LOOKUP(C1; A:B) 也可以,但我想用 VBA 来实现。我已经尝试使用该功能:
x = Application.Worksheetfunction.Lookup(范围("C1"), 范围("A:B"))
但它没有用。数据看起来像这样:
- A : B
- 1 : 10
- 1 : 12
- 2 : 20
- 2 : 25
- 2 : 30
- 3 : 35
- 3 : 40
- 4 : 45
- 4 : 50
- 4 : 55
所以对于 1,它必须 return 12,对于 2 -> 30,对于 3 -> 40 和对于 4 -> 55。
使用你的例子,我想你想要:
Application.Worksheetfunction.VLookup(Range("C1"), Range("A:B"),2)
编辑 在 OP 的进一步请求后
我猜你可能在看这个:
With Range("C1")
If IsError(Application.Match(.Value, Range("A:A"), 0)) Then
MsgBox "Sorry, no match for " & .Value & " in column A"
Else
Range("H7").Value = Application.VLookup(.Value, Range("A:B"), 2)
End If
End With
我正在寻找一个 vba 代码来查找列中数组中的最后一个值。函数 LOOKUP(C1; A:B) 也可以,但我想用 VBA 来实现。我已经尝试使用该功能: x = Application.Worksheetfunction.Lookup(范围("C1"), 范围("A:B")) 但它没有用。数据看起来像这样:
- A : B
- 1 : 10
- 1 : 12
- 2 : 20
- 2 : 25
- 2 : 30
- 3 : 35
- 3 : 40
- 4 : 45
- 4 : 50
- 4 : 55
所以对于 1,它必须 return 12,对于 2 -> 30,对于 3 -> 40 和对于 4 -> 55。
使用你的例子,我想你想要:
Application.Worksheetfunction.VLookup(Range("C1"), Range("A:B"),2)
编辑 在 OP 的进一步请求后
我猜你可能在看这个:
With Range("C1")
If IsError(Application.Match(.Value, Range("A:A"), 0)) Then
MsgBox "Sorry, no match for " & .Value & " in column A"
Else
Range("H7").Value = Application.VLookup(.Value, Range("A:B"), 2)
End If
End With