• 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.

Macro halverwege opnieuw starten

Status
Niet open voor verdere reacties.

ronald1986

Gebruiker
Lid geworden
2 apr 2010
Berichten
296
Mensen,

Ik heb een vraag over het opnieuw starten van een macro halverwege de code. Ik wil graag dat wanneer er aan een bepaalde voorwaarde wordt voldaan een voorgaand deel in de code herhaald moet worden. Ik zal het proberen hier onder uit te leggen in de code:

Code:
Sub test()
Sheet zichtbaar maken
[COLOR="#FF0000"]1[/COLOR]
Kopieren
Plakken

Als x = hoi dan -> begin opnieuw bij [COLOR="#FF0000"]1[/COLOR]
Anders -> ga verder met code...
End Sub

Ik hoop dat het duidelijk is. Weet iemand hoe ik dit kan bereiken?

Bvd!
 
Je start wel steeds nieuwe vragen maar op je oude vragen reageren is te veel moeite?

een voorbeeldje

Code:
Sub test()
i = 1
Do
n = ActiveSheet.Cells(i, 3).Value
ActiveSheet.Cells(i, 1).Value = n & i
i = i + 1
Loop While n = "hoi"
End Sub

Niels
 
Hmmm.. volgens mij reageer ik toch vrijwel altijd wanneer ik een vraag gesteld heb, maar daarvoor dan mijn excuses.
Ik ga vanmiddag kijken of ik je code kan gebruiken, in ieder geval erg bedankt!
 
Je reageert wel maar ik heb een aantal vragen van jouw beantwoord en terwijl ik op een reactie
zit te wachten omdat ik je een vraag terug stel, post je wel een nieuwe vraag maar reageert pas uren later
op de post uit je eerder bericht.

Niels
 
Dat klopt inderdaad, mijn excuses hiervoor.
Maar om terug te komen op mijn vraag, ik kom er nog niet helemaal uit.

Onderstaand de code waar ik het op toe wil passen:

Code:
Sheets("Blad1").Visible = True
Sheets("Blad1").Range("A1").Copy
Sheets("Blad1").Select
Range("C1").Select
ActiveSheet.Paste
Application.CutCopyMode = False

If Sheets("Blad1").Range("B1").Value = "Ja" Then

[COLOR="#FF0000"]'doe de kopieeractie opnieuw[/COLOR]

Else

[COLOR="#FF0000"]'doorgaan met het vervolg van de macro[/COLOR]

End If
 
En wanneer verander B1 in nee?
Zie ik niet in je macro dus als hij op ja staat blijft hij oneindig doorgaan.

eerst opslaan!! , dit is een oneidige loop als B1 op ja staat. ctrl-break om er uit te komen

Code:
Sub test7()

Do
With Sheets("Blad1")
.Visible = True
.Range("A1").Copy .Range("C1")
End With
Loop While Sheets("Blad1").Range("B1") = "ja"

'doorgaan met het vervolg van de macro

End Sub


Niels
 
Laatst bewerkt:
Ok, duidelijk, er staat nog meer code voor, maar begrijp ik het goed als ik zeg dat het stuk code tussen "Do" en "Loop While" geloopt wordt? Zoals ik zei, ik heb dus nog code er voor staan die niet geloopt moet worden.
 
ja de code tussen do en loop wordt herhaald.


Niels
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan