03. marts 2004 - 10:22Der 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.
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"...
Nu accepterer jeg svaret igen. Håber du får points. Hilsen
Synes godt om
Ny brugerNybegynder
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.