Erro do Excel 1004 “Não é possível obter… propriedade da classe WorksheetFunction” aparecendo de forma inconsistente

Eu tenho uma função VBA dentro de uma planilha que opera em outra planilha que é aberta em um estágio anterior da minha macro. A macro costumava funcionar bem, mas só recentemente começou a causar1004 erro ("Não é possível obter a propriedade RoundDown da classe WorksheetFunction") quando é executado.

Eu acredito que eu entendo o que o erro seria causado por (um problema executando o RoundDown), mas não consigo ver por que ele está sendo acionado na minha macro e a parte ímpar é que quando eu entro no modo de depuração e passo através do código no VBE erro não se repete (apesar de nada obviamente mudar).

Alguém tem uma experiência semelhante desse tipo de erro ocorrendo inconsistentemente e sabe o que eu poderia fazer para resolvê-lo?

Eu sou razoavelmente experiente em VBA / Excel, mas qualquer sugestão sobre outras etapas para diagnosticar isso seria apreciada. Eu estou querendo saber se há algum problema com a planilha aberta não estar pronto, mas não consigo ver como.

O código está aqui. O erro ocorre na linha marcada com um comentário.

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

Outros detalhes são:

Versão do Excel: 2010

Arquivo sendo aberto reside localmente na minha unidade C:; minha macro está em uma planilha na rede

O formato de arquivo para ambos os arquivos é .xls (ou seja, o Excel 2003) - não tenho a opção de alterar este

Windows 7 (não que eu acho que seria relevante)

Dois pontos que já tentei são:

Substituir uma função de planilha diferente (por exemplo, Min (currentCell)) e isso também causa o mesmo problema

Ter o arquivo aberto já parece parar o problema - eu me pergunto se há alguma maneira que a pasta de trabalho que está sendo aberta (em vez da minha pasta de trabalho principal com a macro nela) não está habilitada para macros e isso está interferindo. Mas mesmo que seja essa a causa, não sei como contornar isso!

Alguma ideia?

questionAnswers(3)

yourAnswerToTheQuestion