【发布时间】:2018-09-08 06:27:56
【问题描述】:
我的文档由生产部分组成,我的很多数据来自我公司的数据仓库查询。
问题:
当我更新我的查询/文档时,具有我的 VLOOKUPNTH 公式的所有单元格都显示值 "#value" 直到我手动单击公式栏并按 Enter 键。然后它完美地工作。
问题是,一旦我更新了我的程序,我必须使用此功能手动按下每个单元格,然后在功能栏中按 Enter(大约 15x3 单元格)。
我的代码:
Function VLOOKUPNTH(Lookup_value, table_array As Range, _
Col_index_num As Integer, Nth_value)
' Extension to VLOOKUP function. Allows for finding
' the " nth " item that matches the lookup value.
Dim nRow As Long
Dim nVal As Integer
Dim bFound As Boolean
VLOOKUPNTH = ""
With table_array
For nRow = 1 To .Rows.Count
If .Cells(nRow, 1).Value = Lookup_value Then
nVal = nVal + 1
End If
If nVal = Nth_value Then
VLOOKUPNTH = .Cells(nRow, Col_index_num).Text
Exit Function
End If
Next nRow
End With
End Function
图片:
有什么聪明的方法可以避免这个问题吗?我可以用 VBA 代码以某种方式激活此功能吗? OBS!在上面的图片中,它只有最右边的一列发生了变化,我的错误。 OBS!
谢谢
【问题讨论】:
-
感谢您提供此信息!我不知道这是可能的,我现在就去看看。
-
我试过了,现在我只需要在一个功能栏中按回车,它们都变成了正确的值,非常好!
-
按 Ctrl/Alt/F9 也可能有效
-
ctrl+alt+F9 成功了!那是我可以制作宏的命令吗?或者我可以使用 VBA 代码执行此命令吗?