我从电子表格模块调用一个函数,该函数在另一个工作表中进行一些处理并返回一个整数。然后,我想在调用该函数的表格中的单元格中写入该整数。我收到错误400,我想我没有正确处理工作表之间的切换。VBA,错误400,在电子表格之间切换
你能帮我解决吗?从子
Function lastNonZero(Rng As Range) As Integer
i = 19
Do While ActiveCell.Value = 0
ActiveCell.Offset(0, -1).Activate
i = i - 1
Loop
lastNonZero = i
End Function
提取物,位于表A的模块:
For j = startRow To startRow + (nRows - 1)
Worksheets("B").Select
Range("Y" & j).Activate
k = lastNonZero(Worksheets("B").Range("Y" & j))
Worksheets("A").Range("BZ" & j) = k
Next j
您的意思是for循环位于Sheet A上的Sub中? – assylias
确切地说,这就是我的意思,非常感谢您的帮助 – Eva
你在哪一行得到错误?作为参数传递给'lastNonZero'的范围从未在函数中使用,这可能不是您的意思。 – assylias