• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA: Loop door range in specifieke volgorde

Status
Niet open voor verdere reacties.

RoCompy87

Gebruiker
Lid geworden
13 nov 2006
Berichten
284
Hallo,

Ik wil in VBA een loop door de range A1:G150. Dat ziet er zo uit:

Code:
Dim c as range
With Sheets(1)
    For each c in .range("A1:G150")
        'code
    Next c
End with

Nu wil ik eigenlijk dat de loop eerst door kolom F gaat, en daarna door de rest. Hoe krijg ik dit voor elkaar? Ik had het al geprobeerd met de volgende regel, maar dat heeft geen effect.

Code:
For each c in Union(.range("F1:F150"),.range("A1:E150"),.range("G1:G150"))

Alvast bedankt voor het meedenken :)
 
zo misschien?

Code:
Dim c as range
With Sheets(1)
    For each c in .range("F1:F150")
        'code
    Next c
    For each c in .range("A1:E150")
        'code
    Next c
    For each c in .range("G1:G150")
        'code
    Next c
End with
 
Ja maar de code in de loop is nogal lang, dus ik hoopte dat het in één loop kan. Ik kan ook wel gaan werken met goto's vanuit de lussen, maar het gebruik daarvan hoop ik ook te vermijden (hoewel het verder misschien nog wel een oplossing kan zijn...).
 
Ja maar de code in de loop is nogal lang, dus ik hoopte dat het in één loop kan. Ik kan ook wel gaan werken met goto's vanuit de lussen, maar het gebruik daarvan hoop ik ook te vermijden (hoewel het verder misschien nog wel een oplossing kan zijn...).

wellicht is dan een gosub / return een goede mogelijkheid
 
misschien niet de beste oplossing maar het werkt.

Code:
For icol = 1 To 7
For irow = 1 To 150
cells(irow,icol) enz....
Next irow
Next icol

Niels
 
of.....


Code:
Dim c as range
for t = 1 to 3
if t=1 then gebied  = "F1:F150"
if t=2 then gebied = "A1:E150"
if t=3 then gebied = "G1:G150"
With Sheets(1)
    For each c in .range(gebied
        'code
    Next c
End with
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan