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一个不同的名字。