Loop stopt niet!

Status
Niet open voor verdere reacties.

VBAn00b

Gebruiker
Lid geworden
22 feb 2008
Berichten
17
Code:
pp = UBound(vtresult)
For z = 1 To pp
For dd = 0 To company

           p = z + 1
           If (vtresult(z, dd, 0, 1) = "#N/A N.A.") Then
              vtresult(z, dd, 0, 1) = vtresult(p, dd, 0, 1)
           ElseIf (vtresult(p, dd, 0, 1) = "#N/A N.A.") Then
               vtresult(z, dd, 0, 1) = vtresult(p, dd, 0, 1)
           End If
           
z = z + 1
dd = dd - 1

Next
dd = dd + 1

Ik heb de bovenstaande code en die werkt in principe perfect. Echter hij stopt niet met loopen als het de UBound (vtresult) is bereikt. De UBound (vtresult) is 135 meer de loop gaat door (dankzij dat +1 gebeuren) tot 136 en slaat dan vervolgens vast met een logische out of range error!

Weet iemand misschien waardoor dit probleem veroorzaakt is en hoe dit op te lossen valt?
 
Code:
pp = UBound(vtresult)
For z = 1 To pp
For dd = 0 To company

           p = z + 1
           If (vtresult(z, dd, 0, 1) = "#N/A N.A.") Then
              vtresult(z, dd, 0, 1) = vtresult(p, dd, 0, 1)
           ElseIf (vtresult(p, dd, 0, 1) = "#N/A N.A.") Then
               vtresult(z, dd, 0, 1) = vtresult(p, dd, 0, 1)
           End If
           
z = z + 1
dd = dd - 1

Next
dd = dd + 1


Weet niet exact wat je bedoelt maar volgens mij ben je een 'Next'-code vergeten.
Probeer onderstaande eens:

Code:
For z = 1 To pp
    For dd = 0 To company

        p = z + 1
        If (vtresult(z, dd, 0, 1) = "#N/A N.A.") Then
            vtresult(z, dd, 0, 1) = vtresult(p, dd, 0, 1)
        ElseIf (vtresult(p, dd, 0, 1) = "#N/A N.A.") Then
            vtresult(z, dd, 0, 1) = vtresult(p, dd, 0, 1)
        End If
           
        z = z + 1
        dd = dd - 1
    
    Next dd
Next z
 
Array's gebruik ik zelden in Excel maar des te meer in LabVIEW :)

Eerste element van een array in Excel is dat 0 of 1????
Met
Code:
For Z = 1 to pp
sla je misschien het eerste element van je array over waardoor je inderdaad één te ver gaat...
 
Ik zou aanraden om duidelijke namen voor variabelen te gebruiken, scheelt je heel wat tijd bij debuggen ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan