什么失踪;在声明之前。 (第1行,文件"代码")

时间:2015-06-23 17:29:58

标签: excel-vba vba excel

这是我的代码,我不知道为什么我收到此声明然后当我添加;它给了我这个:

  

缺少)参数列表后。 (第1行,文件"代码")。

我在常规Excel宏中执行了这个确切的代码,它工作正常。这是我的全部功能。

Function ;ColorFunction(rColor As Range, rRange As Range, Optional SUM As Boolean)
    Dim rCell As Range
    Dim lCol As Long
    Dim vResult

    lCol = rColor.Interior.ColorIndex

    If SUM = True Then
        For Each rCell In rRange
            If rCell.Interior.ColorIndex = lCol Then
                vResult = WorksheetFunction.SUM(rCell, vResult)
            End If
        Next rCell
    Else
        For Each rCell In rRange
            If rCell.Interior.ColorIndex = lCol Then
                vResult = 1 + vResult
            End If
        Next rCell
    End If

   ColorFunction = vResult
End Function

Sub ColorFuction()
End Sub

1 个答案:

答案 0 :(得分:1)

如有疑问,请阅读documentation(强调我的):

  

在Visual Basic模块中命名过程,常量,变量和参数时,请使用以下规则:

     
      
  • 您必须使用字母作为第一个字符。

  •   
  • 您不能在名称中使用空格,句点(。),感叹号(!)或字符@,&,$,#。

  •   
  • 名称长度不能超过255个字符。

  •   
  • 通常,不应使用与Visual Basic中的函数,语句和方法相同的任何名称。您最终会在语言中隐藏相同的关键字。要使用与指定名称冲突的内部语言函数,语句或方法,必须明确标识它。在内部函数,语句或方法名称前面加上关联类型库的名称。例如,如果您有一个名为Left的变量,则只能使用VBA.Left调用Left函数。

  •   
  • 您不能在同一范围内重复名称。例如,您不能在同一过程中声明两个名为age的变量。但是,您可以在同一模块中声明名为age的私有变量和名为age的过程级变量。

  •   

使用分号作为函数名中的第一个字符无效(从技术上讲,它不是函数名中任何地方的有效字符)。

在同一模块中也不能有两个具有相同名称的功能。

从函数名中删除分号,然后删除第二个(空)函数definiton。