0

I am trying to write a simple code that filters out data based on some condition.

My code is below :

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

However, when i try to compile the code it gives the error "Invalid Next Control Variable reference". I have googled it quite a bit and all the solutions say that i must be missing closing the loop which i don't think is the case in my code. Anyone could point what am i missing?

1
  • Typo - lngcounterinitiatve. Commented Jun 10, 2015 at 19:20

1 Answer 1

1

lngcounterinitiative is spelled wrong in "Next lngcounterinitiatve".Try changing that.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.