Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自定义Excel 2010函数的VBA宏在一个工作簿中工作,导致另一个工作簿中出现无效名称错误_Excel_Vba - Fatal编程技术网

自定义Excel 2010函数的VBA宏在一个工作簿中工作,导致另一个工作簿中出现无效名称错误

自定义Excel 2010函数的VBA宏在一个工作簿中工作,导致另一个工作簿中出现无效名称错误,excel,vba,Excel,Vba,我在Excel 2010工作簿中使用此VBA宏来定义函数FileSize,它使我能够使用filepath将文档大小拉入文档主工作表 Function FileSize(FileName As String) FileSize = FileLen(FileName) End Function 然后,我使用FileSize函数引用列a中的文件路径字符串,如下所示: =FileSize(A1) 这在我最初为其编写的工作簿中有效,但当我将函数的宏复制粘贴到新工作表的新模块中时,会出现无效名称

我在Excel 2010工作簿中使用此VBA宏来定义函数FileSize,它使我能够使用filepath将文档大小拉入文档主工作表

Function FileSize(FileName As String)
    FileSize = FileLen(FileName)
End Function
然后,我使用FileSize函数引用列a中的文件路径字符串,如下所示:

=FileSize(A1)
这在我最初为其编写的工作簿中有效,但当我将函数的宏复制粘贴到新工作表的新模块中时,会出现无效名称错误

这两个工作簿都启用了宏.xlsm,激活或停用option explicit没有任何效果。我做错了什么?/我忽略了做什么?

NAME表明您的新工作簿不知道formula=FileSize指的是什么

仔细检查以确保您实际将该函数放在使用公式的同一工作簿中的模块中。 确保已将代码定义为函数而不是子函数。 把你的电脑从桌子上撕下来扔出窗外。
谢谢你,JNevill!幸运的是,没有必要采取防御措施

我算出了——我给了我的模块一个与它包含的函数相同的名称。刚刚更改了模块名称,现在函数已正确填充