【发布时间】:2019-04-10 22:39:41
【问题描述】:
我目前收到 13 类错误,因为函数似乎收到了错误的参数。我做错了什么?
Sheet 1 函数(当子调用此函数时,它会生成类型 13 错误):
Function extrapolatendg(row As Range) As Integer
extrapolatendg = Range("b" & row).Value
End Function
表 6 功能:
Function findrownumberndg(extrapolatendg As Integer)
Set foundcell = Range("a:a").Find(extrapolatendg, lookat:=xlWhole)
If Not foundcell Is Nothing Then
findrownumberndg = 0
Else
findrownumberndg = foundcell.row
End If
End Function
thisworkbook 子操作函数
Sub getndg()
For x = 6 To sheet1lastrow()
Dim currentRow As Range
Set currentRow = Sheet1.Rows(x)
extraolatendg = Sheet1.extrapolatendg(currentRow)
Sheet6.findrownumberndg (extrapolatendg)
Next
End Sub
我希望 extrapolatendg 函数获取单元格值并将其传递给 findrownumberndg 以便在另一张表中返回行号。
【问题讨论】:
-
我怀疑你的函数有一个工作表父级:
Sheet1.extrapolatendg(currentRow)应该只是extrapolatendg(currentRow) -
如果
row是Range,则不能使用Range("b" & row)。 -
如果值不是
Integer,Function extrapolatendg(row As Range) As Integer也会抛出错误。
标签: excel vba function arguments