我创建了一个函数searchRow
来获取目标值所在的行。
对于参数value
,如何将此参数设置为条件?这样我就可以使用excel中的函数,如searchRow(<3, A1:A100)
,而不是仅使用值,如searchRow(10, A1:A100)
Function searchRow(value As String, targetRange As range) As Double
Dim currentRange As range
For Each currentRange In targetRange.Cells
If currentRange.value = value Then
searchRow = currentRange.Row
Exit For
End If
Next currentRange
End Function
1条答案
按热度按时间ajsxfq5m1#
您可以在这里利用
Worksheet.Evaluate
,并在每次迭代时完成表达式,以便在该工作表的上下文中对其进行求值:注意
Variant
返回类型是如何被用来向工作表生成有意义的错误代码的。因为第一个参数是
String
,所以当我们想给予它一个 string literal 时,我们需要用双引号把第一个参数括起来,所以用法看起来像=SearchRow("<3",A1:A100)
,但是也可以处理42
或SomeNamedRange
,并且在输入中给定一个错误值时会像SUM
一样失败。