Excel 用户定义类型未定义错误
嗨,我是VBA Excel编程的新手。我一直收到一个“用户定义类型未定义”错误。我到处找,找不到我具体问题的答案。很多解决方案都需要添加参考资料,这似乎不适用于我的情况。计算正确返回,但错误消息让我抓狂!最后的宏调用也没有发生Excel 用户定义类型未定义错误,excel,vba,Excel,Vba,嗨,我是VBA Excel编程的新手。我一直收到一个“用户定义类型未定义”错误。我到处找,找不到我具体问题的答案。很多解决方案都需要添加参考资料,这似乎不适用于我的情况。计算正确返回,但错误消息让我抓狂!最后的宏调用也没有发生 Function MinutesOver(duration, start_time, end_time) If Not (duration = "") Then If ((duration * 60) > 600) Or (((
Function MinutesOver(duration, start_time, end_time)
If Not (duration = "") Then
If ((duration * 60) > 600) Or (((duration * 60) + (start_time * 24 * 60)) > (TimeValue("17:00:00") * 24 * 60)) Then
MinutesOver = (duration * 60) - ((end_time - start_time) * 24 * 60)
Else
MinutesOver = ""
End If
Else
MinutesOver = ""
End If
Call AddRowDeleteConstants
End Function
我甚至试着做一个更简单的版本,但我仍然得到同样的错误
Function MinutesOver(duration As Integer)
MinutesOver = duration
'Call AddRowDeleteConstants
End Function
如有任何反馈,将不胜感激。谢谢
Sub AddRowDeleteConstants()
'On Error GoTo NoConstants
With ActiveCell.EntireRow
.Copy
.Insert Shift:=xlDown
.SpecialCells(xlCellTypeConstants).ClearContents
End With
Exit Sub
'NoConstants:
'MsgBox "There were no constants to delete"
End Sub
我没有发现你的代码有任何错误,但也许你需要给你的函数一个类型
Function MinutesOver(duration As Integer) as Integer
只是一个猜测…我希望运行您的函数时没有错误,但是
用户定义的函数不能修改其他单元格。在调用
AddRowDeleteConstants
时,无论是否出错,命令Copy
、Insert
和PasteSpecial
都不会执行任何操作,因为它们实际上是从用户定义的函数调用的。什么是AddRowDeleteConstants?错误在哪一行?(如果你说不出来,在函数分钟结束时按f9(…行设置断点,运行调用,在中断时按F8运行下一行)我用F8一路走完它,直到它完成(在它到达结束函数行之后)错误才发生。AddRowDeleteConstants看起来是这样的:这似乎也不起作用,仍然会得到相同的错误。:(这是“猜测”是完全不相关的,一点用处都没有…-1谢谢,关于这方面的信息。我本可以容忍这个错误,但由于不可能从用户定义的函数修改其他单元格,我将不得不提出不同的计划。