Excel Len函数将零返回到变量

Excel Len函数将零返回到变量,excel,vba,Excel,Vba,遇到以下代码问题时卡住,使用F8步骤,Len函数会拾取一个值,但不会 将其放入Lresult变量,不确定我做错了什么: 函数lastrownum(lrbook作为字符串,lrsheet作为字符串,lrcolumn作为字符串,charnum作为长) '对于任何工作簿/工作表/列,从下至上查找大于指定字符数(charnum)的字符数 工作簿(lrbook).工作表(lrsheet).激活 黯淡的眉毛和长的一样,浓淡的头发和长的一样 长得一样长 暗淡的头发长得一样长 lngRows=范围(lrcolu

遇到以下代码问题时卡住,使用F8步骤,Len函数会拾取一个值,但不会 将其放入Lresult变量,不确定我做错了什么:

函数lastrownum(lrbook作为字符串,lrsheet作为字符串,lrcolumn作为字符串,charnum作为长)
'对于任何工作簿/工作表/列,从下至上查找大于指定字符数(charnum)的字符数
工作簿(lrbook).工作表(lrsheet).激活
黯淡的眉毛和长的一样,浓淡的头发和长的一样
长得一样长
暗淡的头发长得一样长
lngRows=范围(lrcolumn&Rows.Count).End(xlUp).Row
暗淡的结果就像长的一样
对于lngRow=lngRow到160步-1
Lresult=Len(范围(lrcolumn&lngRow).Value)
如果Lresult>charnum,则
lastrownum=lngRow
转到结束循环
如果结束
下一个
结束循环:
端函数
副主席()
MsgBox lastrownum(报告文件,“BANT AJEs”,“C”,6)
端接头

传递工作表对象,而不是传递工作簿名称和工作表名称,然后确保对该工作表完全限定所有
范围
调用。使用
退出函数,而不是
转到结束循环
。您的代码对我有效。(虽然这可能需要大量的清理)也许你没有一个长度大于6的C列的值?您应该尝试将
reportfile
参数作为字符串发送。尽管您的方法似乎适用于所有工作簿,但有一个值
160
可能是特定于工作簿的。