我有对在我的宏的早期阶段打开了另一电子表格操作电子表格中的VBA函数。 曾经工作正常,但最近才宏已经开始引起1004错误(“无法获取WorksheetFunction类的ROUNDDOWN财产”)在运行时。
我相信,我明白了什么错误会被引起的(问题运行ROUNDDOWN),但我不明白为什么它在我的宏和奇数部分得到触发的是,当我进入调试模式,并通过在VBE代码步错误不再出现(尽管很明显没有改变)。
有没有人有这种错误发生的历史不一致的类似经历,知道我可以做些什么来解决这个问题?
我有理由VBA / Excel的精明,但采取进一步措施的任何建议来诊断我们将不胜感激。 我想知道如果有一些问题,有没有准备好打开的电子表格,但我看不出。
该代码是在这里。 在标有注释的行发生错误。
Public Function GetDatesA(sWorkbookname As String, sSheetname As String, sCell As String) As Variant
Dim vDateList() As Variant
Dim currentCell As Range
Dim n As Long
Set currentCell = Workbooks(sWorkbookname).Worksheets(sSheetname).Range(sCell)
n = 0
Do
If Trim(currentCell.Value) = "" Then
Exit Do
Else
ReDim Preserve vDateList(0 To 1, 0 To n)
vDateList(0, n) = WorksheetFunction.RoundDown(currentCell.Value, 0) 'error occcurs on this line
vDateList(1, n) = currentCell.Column
'Debug.Print currentCell.Value
End If
Set currentCell = currentCell.Offset(0, 1)
n = n + 1
Loop While currentCell.Column < XL_LAST_COLUMN
GetDatesA = vDateList
End Function
其他细节:
Excel版本:2010
文件正在对我的C打开本地所在:驱动器; 我的宏是在网络上的电子表格
这两个文件的文件格式的.xls(即Excel 2003中) - 我没有更改此的选项
Windows 7的(不,我认为这将是相关的)
有两点我已经试过有:
替换一个不同的工作表函数(如敏(currentCell)),并且也导致了同样的问题
有已经打开的文件似乎停止问题 - 我不知道是否有某种方式,它被打开(而不是我在它与宏工作簿为主)的工作簿宏未启用,这是干扰。 但即使是这样的,因为我不知道如何解决它!
有任何想法吗?