VBA帮助文件中的月份函数抛出types不匹配示例代码

我在这里查了一遍,发现了一些我尝试过的解决scheme,包括Now作为一个CDate ,但没有任何作用。

在Win7上使用VBA编辑器w / Excel 2010。

即使帮助部分的示例代码也会引发此错误,并且Month()函数中使用的date以数字forms显式初始化。

在这两种情况下,我试图在month()参数使用CDate() ,它不起作用。 在我原来的代码中,我也尝试过使用Date来代替Now ,也没有效果。

这是我原来的代码,它在If条件上投下错误:

 Function SetNextTaskNb() Dim seqNb As String seqNb = ThisWorkbook.Worksheets("Persistent").Range("A" & 1).Value Dim Nbs() As String Nbs = Split(seqNb, ".", 2) Dim month, currentNb, nextNb As Integer month = CInt(Nbs(0)) currentNb = CInt(Nbs(1)) If month(Now) = month Then nextNb = currentNb + 1 Else nextNb = 1 End If ThisWorkbook.Worksheets("Persistent").Range("A" & 1).Value = currentMonth + "." + nextNb ThisWorkbook.Worksheets("Sheet1").Range("A" & 1).Value = currentMonth + "." + nextNb End Function 

以下是VBA编辑器帮助部分中的示例代码,在没有任何修改的情况下复制粘贴会在第一个Debug.Print引发相同的错误。 它甚至不会显示它。

 Dim MyDate, MyMonth MyDate = #2/12/1969# ' Assign a date. Debug.Print "month is " & month(MyDate) Debug.Print "rgMonth.Cells(i, j).Value is " & rgMonth.Cells(i, j).Value MyMonth = month(CDate(MyDate)) ' MyMonth contains 2. 

我知道我应该给Month()函数一个数字forms的date,并且它返回一个Integer。 我尝试了所有我能想到的。

这里是certificate这是来自帮助的代码:

类型不匹配示例代码

你使用Month作为函数的名字和variables的名字…………….赋予variables一个不同的名字。