在Sub DateDiff
中实现Sub TabPaint时出现错误Public Sub TabPaint(ss As Integer, cc As Integer)
With Sheets(ss).Tab
.Color = cc
.TintAndShade = 0
End With
End Sub
Public Sub DateDiff(date1 As String, date2 As String, shn As Integer)
If DateDiff("d", date1, date2, vbMonday, vbFirstJan1) < 0 Then
TabPaint (shn, 255)
Else
TabPaint(shn,5287936)
End If
End Sub
答案 0 :(得分:3)
在VBA中,如果你没有将函数的返回值赋给任何东西,或者如果方法是SubRoutine,则省略括号,所以试试这个:
Public Sub TabPaint(ss As Integer, cc As Integer)
With Sheets(ss).Tab
.Color = cc
.TintAndShade = 0
End With
End Sub
Public Sub DateDiff(date1 As String, date2 As String, shn As Integer)
If DateDiff("d", date1, date2, vbMonday, vbFirstJan1) < 0 Then
TabPaint shn, 255
Else
TabPaint shn, 5287936
End If
End Sub
答案 1 :(得分:0)
当你像子TabPaint一样调用subs时,你不能使用括号,所以试试这个:
TabPaint shn, 255
而不是:
TabPaint(shn, 255)