19. marts 2010 - 15:35
Der er
12 kommentarer og 1 løsning
Stoppe loop, når en celle rammer en hvis værdi.
Hej Jeg vil gerne have mit loop til at stoppe, når det når til en vis værdi. VBA ser således ud: Range("c7").Value = Range("c7").Value + 1 Do Until Range("D9") = 1 Range("c7").Value = Range("c7").Value + 1 Loop End Sub Til denne skal der tilføjes, at når "c7" bliver lig "e9" skal loopet stoppe.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
19. marts 2010 - 15:43
#1
Loop Until ....
19. marts 2010 - 15:47
#2
Ja, det har jeg prøvet, men hvor skal den komme? Den skriver compile error, når jeg har følgende: Range("c7").Value = Range("c7").Value + 1 Do Until Range("D9") = 1 Range("c7").Value = Range("c7").Value + 1 Loop Until Range("c7") = Range("e9") Loop
19. marts 2010 - 15:51
#3
Ok - prøver...
19. marts 2010 - 15:57
#4
Syntax Do [{While | Until} condition] [statements] [Exit Do] [statements] Loop Or, you can use this syntax: Do [statements] [Exit Do] [statements] Loop [{While | Until} condition]
19. marts 2010 - 16:03
#5
Sub test2() Range("c7").Value = Range("c7").Value + 1 Do Until Range("C7") = Range("E9") Range("c7").Value = Range("c7").Value + 1 Loop End Sub
19. marts 2010 - 16:14
#6
Ja, supertekst... Det har jeg prøvet, men der jo betingelser der skal opfyldes. Kan det lykkedes med denne samtidig: Do Until Range("D9") = 1
19. marts 2010 - 17:14
#7
Mit problem er, at den ikke vil acceptere to "do until". Hvordan løser jeg dette?
19. marts 2010 - 17:46
#8
D9 bliver jo ikke ændret i det viste? Range("c7").Value = Range("c7").Value + 1 Do Until Range("D9") = 1 Range("c7").Value = Range("c7").Value + 1 Loop Until Range("c7") = Range("e9") Loop Det der er galter, at Loop Until & Loop afslutter2 loops - men der er kun een Begyndelse Do Until.. -- Do Range("c7").Value = Range("c7").Value + 1 Do Until Range("D9") = 1 Range("c7").Value = Range("c7").Value + 1 Loop Loop Until Range("c7") = Range("e9") Her er der ingen fejl..
20. marts 2010 - 17:20
#9
Hej Det virker som sådan fint. Problemet er bare, at den skal stoppe hver gang D9=1, men det gør den ikke længere, da den nederste linie på en eller anden måde over-ruler den anden. Så det er, hvis en af betingelserne ikke er opfyldt, skal den stoppe loopet.
21. marts 2010 - 09:14
#10
Prøv at se bort fra VBA-koden et øjeblik og beskriv det ønskede med alm. ord. Er der tale om 2 forskellige loops - et ydre og et indre - eller kun eet med to betingelser og/eller?? Vedr. D9=1 - peger D9 på en af de celler, der indgår i loops?
21. marts 2010 - 10:43
#11
"C7" er datoen, hvor den hver gang skal vælge den næste i række. Der og dog nogle datoer, der ikke forekommer, hvilket "D9" tester, og skal derfor være lig 1 for at det er opfyldt. Derudover skal loopet stoppe, når det når til den sidste dato i rækken "E9", da den ellers aldrig ville stoppe.
22. marts 2010 - 10:56
#12
Jeg har fået det løst. Mange tak for hjælpen. Smid et svar, og jeg skal give dig point. Mvh
22. marts 2010 - 13:01
#13
Fint - selv tak & et svar...
Kurser inden for grundlæggende programmering