VBA Loop werkt niet

Status
Niet open voor verdere reacties.

helpendehand123

Gebruiker
Lid geworden
3 mrt 2011
Berichten
260
Hallo!

Ik zit met een probleempje in m'n vba DO LOOP.
Code:
Sub Test2()
Set sht = Worksheets("Calculations")
LastRow = sht.Cells(sht.Rows.Count, 1).End(xlUp).Row + 1
LastCol = (LastRow - 2) * 3
i = 1
r = 3
c = 5

Do Until r > LastRow
    sht.Cells(r, c).Select
    RangeName = "Airline_" & i
    Set Cell = sht.Cells(r, 5)
    sht.Names.Add Name:=RangeName, RefersTo:=Cell
        Do Until c > LastCol
            RangeName = "Airline_" & i
            Set Cell = Application.Union(Range("Airline_" & i), sht.Cells(r, c))
            sht.Names.Add Name:=RangeName, RefersTo:=Cell
        c = c + 3
        Loop
    i = i + 1
    r = r + 1
Loop

End Sub

Met deze code wil ik uiteindelijk de =SOM(Airline_1) bepalen.
Nu werkt dit voor de eerste rij wel. Bij Airline_1 pakt ie alle gewenste cellen.
Bij de tweede rij stopt ie echter al na de eerste cel. Alsof hij de tweede loop dus overslaat.
Ik heb ter verduidelijking 3 screenshots toegevoegd.

Ik hoor graag wat het probleem kan zijn. :)

mvgSchermafbeelding 2017-06-20 om 21.06.03.pngSchermafbeelding 2017-06-20 om 21.06.19.png
 
Twee keer dezelfde vraag? Plaatjes? Een Do Loop? Van welke planeet kom je?

'Ik heet dan wel helpendehand, maar volgens mij heb ik hier nog nooit iemand geholpen' kan je ook trots op zijn als Senior Member.:confused:

Dus begin bij het begin. Plaats het bestand en leg even uit wat er moet gebeuren en wat je wilt bereiken.
 
Twee keer dezelfde vraag? Plaatjes? Een Do Loop? Van welke planeet kom je?

'Ik heet dan wel helpendehand, maar volgens mij heb ik hier nog nooit iemand geholpen' kan je ook trots op zijn als Senior Member.:confused:

Dus begin bij het begin. Plaats het bestand en leg even uit wat er moet gebeuren en wat je wilt bereiken.
1. Waar is de tweede vraag dan?
2. Ja, plaatjes ja
3. Weet ik veel hoe dat ding heet. Een loop ;)
4. Ook hallo :)

Oh, p.s dat senior member heb ik ook maar gekregen. Ik zou er niet teveel waarde aan hechten. Ik kom hier omdat ik mezelf wil verbeteren.

Mocht je nog wat nuttig te melden hebben dan hoor ik het wel
 
Let op: de som komt gelijk in kolom c van elke rij.
Code:
Sub hsv()
Dim i As Long, j As Long, c00 As Double
For i = 3 To Application.Max(3, Cells(Rows.Count, 1).End(xlUp).Row)
   For j = 5 To Cells(i, Application.Max(5, Cells(i, Columns.Count).End(xlToLeft).Column)).Column Step 3
     c00 = c00 + Cells(i, j)
   Next j
  Cells(i, 3) = c00
  c00 = 0
 Next i
End Sub

Omdat het geen currentregion (aaneengesloten bereik) is werk ik in deze code met cellen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan