有人知道这个VBAfunction有什么问题吗?

很简单,只是

Function GetMonthRange(sheetMonth) As Range GetMonthRange = ActiveCell.Range("A1:AB1") End Function 

但是,当我尝试运行我的电子表格时出现“对象variables缺失”错误,Excel会一直点亮我。 91号

我已经隔离了代码,它仍然亮起来。 我不会问,但是我已经花了一个小时了,每当debugging器开始的时候重新启动Excel(因为显然微软从来没有想过,有时候我们想在一个bug后恢复操作)正在把我推上墙。

此外,我很确定Excel是维护自己的剪贴板。

我要去外面踢一条小狗。

PS如果有任何真正的VBA程序员想要笑,那么这里是整个文件的链接。 在这里完全入场; 我吮吸Excel。

https://github.com/okamura1967/Directors_project_sheet/blob/master/project-sheet-for-directors.vbs

你的函数有几个错误。 1.如果你想返回一个范围,你必须使用Set,因为Range是一个对象。 2.未使用参数sheetMonth 3.该函数将返回不同的结果,具体取决于执行该函数时活动单元的情况。 4.如果这是一个UDF,它将不会重新计算A1:B1中的任何内容,因为A1:B1不是一个参数。

你究竟在做什么?

我改变了你的function:

 Function GetMonthRange() As Range Set GetMonthRange = ActiveSheet.Range("A1:AB1") End Function 

这现在似乎适用于我。