Avatar billede boogjanne Nybegynder
03. marts 2004 - 10:22 Der er 6 kommentarer og
1 løsning

End Sub igangsætter ny kørsel

I Excel har jeg lavet en VBA makro, som manipulerer en mængde tele specifikationsdata på ønsket måde. Den er delt i 6 enkelt-makroer, og gør næsten det den skal, leverer det ønskede output.

Men i stedet for at stoppe på End Sub efter Sub x_6,springer den tilbage til:
1)    End Sub x_5
2)    End If x_4
3)    End Sub x_4
4)    Ved næste F8-tryk forsvinder den gule bjælke,
5)    Næste F8-tryk starter programafvikling fra start af
Sub x_4, og kører normalt indtil stop i denne makro pga. indsæt fejl (run-time error 1004) når den gule markering står på sætning ”ActiveSheet.Paste” midt i Sub x_4 sekvensen.

Er der en, som kan se årsagen?
I hjælp beskrives recursive, men ikke så jeg kan forstå det.
Avatar billede martin_moth Mester
03. marts 2004 - 11:00 #1
Jeg forstår ikke helt hvad du egentligt spørger om? Vil du gerne have den til at stoppe efter x_6?

Du må nok vise din kode - bare den del der evt. indeholder rekursive kald.
Avatar billede martin_moth Mester
03. marts 2004 - 11:41 #2
Nu har jeg læst dit spørgsmål 3 gange, og begynder at fatte det.

Jeg gætter på, at du i slutningen af dine enkelte subs (inden End Sub) kalder en anden sub, der så kalder en treide osv. Så er det klart, at den hopper tilbage til den sub der blev kaldt fra, når en sub er færdig.

Jeg ville aldrig gøre det på den måde!!!

Jeg ville lave en helt ny sub, der kalder alle de andre:

Private sub MainSub
  x_1
  x_2
  x_3
  x_4
  ... osv
  msgbox "Alle subs er afviklet"
End Sub


Og så gætter jeg på, at du debugger, og det er den gule bjælke i debuggeren du omtaler som "den gule markering"...
Avatar billede boogjanne Nybegynder
03. marts 2004 - 23:00 #3
Det var lige det!
Det er svært at være klog nok, men dit råd tæller godt til erfaring.
Tak for hjælpen.
Avatar billede martin_moth Mester
07. marts 2004 - 17:23 #4
Det var så lidt. Var det alt, skal du lukke spørgsmålet, eller spørge videre...
Avatar billede boogjanne Nybegynder
07. marts 2004 - 22:01 #5
Det var en smutter!
Jeg vil gerne vende tilbage næste gang jeg finder et problem.
Tak for hjælpen.
Hilsen
Avatar billede boogjanne Nybegynder
07. marts 2004 - 22:02 #6
En gang mere
Hilsen
Avatar billede boogjanne Nybegynder
08. marts 2004 - 12:11 #7
Nu accepterer jeg svaret igen. Håber du får points.
Hilsen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester