Print side | Luk vindue

Makro der lukker dialogboks og fil

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=393
Udskrevet den: 18.Maj.2024 kl. 14:23


Emne: Makro der lukker dialogboks og fil
Besked fra: Uffepetersen
Emne: Makro der lukker dialogboks og fil
Posteringsdato: 07.Jul.2011 kl. 11:24
Hej
 
Er der en der kan hjælpe med nedenstående?
 
Forklaring:
Jeg har makro (makro 1) der henter data og den foretager én forespørgsel ad gangen. Forespørgslen foregår ved at makro 1 ved hver forespørgsel åbner en fil der hedder enkeltforespørgsel og lukker filen igen efter forespørgslen er foretaget.

Der skal ialt foretages 240 forskellige forespørgsler og makro 2 kører derfor makro 1 ialt 240 gange. Både makro 1 og makro 2 ligger i en fil der hedder alleforespørgsler.

Problemer er at nogle forespørgsler stopper fordi der ikke kan hentes data (der popper en dialogboks op) og filen enkeltforespørgsel lukker derfor heller ikke ned. Dermed stopper hele processen med de 240 forespørgsler.

Spørgsmål:

Kan man i makro 1 tilføje "noget" der gør at, hvis dialogboksen popper op, så klikker makro 1 selv på "End" i dialogboksen og lukker filen "enkeltforespørgsel" uden af gemme?

Med venlig hilsen
Uffe Petersen



Svar:
Besked fra: Allan
Posteringsdato: 07.Jul.2011 kl. 13:05
Hej Uffe,
 
Du skal bruge lidt fejlhåndtering for løse din udfordring.
Det er 2 måder.
 
Metode 1 (Ignorer alle fejl)
Tilføj: On error resume next i øverste del af din kode
Sæt koden ind umiddelbart før den del som fejler.
Den fortæller Excel at hvis den støder på en fejl, skal koden stadig afvikles og ikke melde fejl.
Metoden er farlig, da den ikke tager højde for konsekvenserne og anbefales ikke.
 
Metode 2 (Goto label)
Som ovenstående, blot med koden On Error Goto Fejl
Umiddelbart efter den del som fejler, skal du placere denne kode (En såkaldt label) Fejl:
Hver gang din kode fejler, vil koden springe det stykke over som befinder sig mellem de 2 kommandoer jeg har givet dig.
'Fejl' kan du kalde noget andet hvis du vil. 
På denne måde kan du styre nøjagtig hvad koden skal gøre hvis den støder på en fejl.
 
//Allan
 
 


Besked fra: uffesch
Posteringsdato: 07.Jul.2011 kl. 20:10
Hej Allan
 
Det virker perfekt.
 
TAK for hjælpen.
 
Mvh
 
Uffe Petersen


Besked fra: Allan
Posteringsdato: 08.Jul.2011 kl. 09:49
Velbekomme Uffe, og tak for din tilbagemelding Smile
 
//Allan


-------------
MVH

Allan
https://www.excel-regneark.dk" rel="nofollow - Excel-regneark.dk - Gratis skabeloner til Excel
Få over 120 ekstra funktioner med Danmarks bedste add-in



Print side | Luk vindue