excel - 编译错误 : Expected: =

标签 excel vba

在 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

最佳答案

在 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

关于excel - 编译错误 : Expected: =,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18125215/

相关文章:

excel - 使用 InsTr 运行时错误 13 (2042) VBA 查找 #N/A

regex - 使用单元格名称调用字符串是空的,但如果我直接使用字符串,它可以工作

excel - 将 HTML 导出到具有不同结果的文本文件

excel - 为什么没有应用我的 VBE 颜色主题?

vba - 下标超出范围 - 打开两个 excel 文档

vba - 根据 LARGE 电子表格的列数据生成新工作表

VBA粘贴到下一个空行

excel - 选择案例错误 : Object variable of With block variable not set

python - 在 python 中进行 Excel 格式化而不加载工作簿

visual-studio-2010 - 如何解决这个错误, "The base class ' Microsoft.Office.Tools.Ribbon.RibbonCollectionBase'无法设计”