2013-08-08 4 views
1

я получил ошибку при выполнении Sub TabPaint в Sub DateDiffОшибка компиляции: Ожидаемая: =

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 

ответ

3

В VBA, если вы не назначая возвращаемое значение функции к чему-либо, или если этот метод подпрограмму, вы выходите из скобки, поэтому попробуйте следующее:

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

Он работал, спасибо за разъяснение =) – AzIz00

0

когда вы звоните подлодки, как ваш суб TabPaint вы не должны использовать скобки так, попробуйте следующее:

TabPaint shn, 255 

вместо этого:

TabPaint(shn, 255) 
Смежные вопросы