"无效的下一个控制变量参考" excel vba出错

时间:2015-06-10 19:04:16

标签: excel vba excel-vba

我正在尝试编写一个基于某些条件过滤掉数据的简单代码。

我的代码如下:

Public Function fGetUniqInitiative(Optional ByVal uniqInitiative As Variant, Optional ByVal filter1 As Variant, Optional ByVal filter2 As Variant, Optional ByVal filter3 As Variant, Optional ByVal vartempData As Variant) As Variant()

Dim lngcounterinitiatve As Long
Dim lngVarData As Long
Dim lngfilter1 As Long
Dim lngfilter2 As Long
Dim lngfilter3 As Long
Dim boolfilter1 As Boolean
Dim boolfilter2 As Boolean
Dim boolfilter3 As Boolean
Dim varUniqueList() As Variant
Dim lnguniqueinitcount As Long
lnguniqueinitcount = 0

For lngcounterinitiative = LBound(uniqInitiative) To UBound(uniqInitiative)
    boolfilter1 = False
    boolfilter2 = False
    boolfilter3 = False

    For lngVarData = LBound(vartempData) To UBound(vartempData)

        If uniqInitiative(lngcounterinitiative) = vartempData(lngVarData, 2) Then

            For lngfilter1 = LBound(filter1) To UBound(filter1)
                 If vartempData(lngVarData, 9) = filter1(lngfilter1) Then
                 boolfilter1 = True
                 Exit For
                 End If
            Next lngfilter1

            For lngfilter2 = LBound(filter2) To UBound(filter2)
                If vartempData(lngVarData, 10) = filter2(lngfilter2) Then
                boolfilter2 = True
                Exit For
                End If
            Next lngfilter2

            For lngfilter3 = LBound(filter3) To UBound(filter3)
                If vartempData(lngVarData, 11) = filter3(lngfilter3) Then
                boolfilter3 = True
                Exit For
                End If
            Next lngfilter3

            If boolfilter1 = True Or boolfilter2 = True Or boolfilter3 = True Then
            Exit For
            Else
            lnguniqueinitcount = lnguniqueinitcount + 1
            ReDim varUniqueList(1 To lnguniqueinitcount)
            End If

        End If

        Next lngVarData

Next lngcounterinitiatve

fGetUniqInitiative = varUniqueList

End Function

然而,当我尝试编译代码时,它会给出错误"无效的下一个控制变量引用"。我已经搜索了相当多的解决方案并且所有解决方案都说我必须错过关闭循环,我认为在我的代码中并不是这样。任何人都可以指出我错过了什么?

1 个答案:

答案 0 :(得分:1)

lngcounterinitiative拼写错误" Next lngcounterinitiatve"。尝试改变它。