Avatar billede rene_andersen Nybegynder
16. september 2011 - 11:23 Der er 7 kommentarer og
1 løsning

Nulstil On Error GoTo..

Jeg har lavet en kode der henter data fra fire forskellige pivot-tabeller (såfremt der er data for den pågældende variabel), og indsætter det på en ny fane.

Men da det er de færreste variable der har data i alle 4 tabeller, har jeg lavet 4 kode-bidder med hver deres label der kører igennem hver deres pivot-tabel. Hvis der er fejl i den ene har jeg indsat koden On Error GoTo "næste label".. Dette fungerer fint første gang den kommer til en tom pivot-tabel, men hvis der er mere end én tom pivot for samme variabel fejler koden.. Jeg har prøvet at køre koden stepvis igennem og hvis jeg manuelt hopper ned til der hvor den fejler anden gang går det fint, men så fejler den ved den sidste pivot.. Så det er som om at "ErrorHandleren" skal nulstilles efter hvert label for at den kan køre hele proceduren igennem..

Jeg har forsøgt at indsætte Err.Clear i starten af label 2, men det hjælper ikke..

Er der nogen der har nogle gode idéer??
Avatar billede claes57 Ekspert
16. september 2011 - 12:15 #1
når du er gået i gang med en tabel (den er fundet), så nulstiller du med linjen
On Error Goto 0
så er den klar til at blive sat ved start på næste rutine.
Avatar billede rene_andersen Nybegynder
16. september 2011 - 12:33 #2
Ja, det læste jeg mig godt frem til i Excel-hjælpen, men det kan jeg heller ikke få til at fungere..

Men det kan være fordi jeg skriver den det forkerte sted i koden..?

Ved det eksempel jeg tester på, er der ikke data i de to første tabeller og jeg har skrevet koden således:

Pivot_2:      '(label 2)
    Sheets("Pivot tabel 2").Select
    On Error GoTo 0
    On Error GoTo Pivot_3
    ActiveSheet.PivotTables("Pivot tabel 2").PivotSelect "Udtr[All]", xlLabelOnly _
        + xlFirstRow, True
Avatar billede claes57 Ekspert
16. september 2011 - 12:46 #3
jeg ville placere den tidligere - fx

Pivot_2:      '(label 2)
    On Error GoTo Pivot_3
    Sheets("Pivot tabel 2").Select
    ActiveSheet.PivotTables("Pivot tabel 2").PivotSelect "Udtr[All]", xlLabelOnly _
        + xlFirstRow, True

det burde ikke være nødvendigt med nulstilling med mindre der kan opstå andre fejl.
Avatar billede rene_andersen Nybegynder
16. september 2011 - 13:37 #4
Jo, det er nemlig her mit problem opstår..

For dette er anden gang i proceduren den får en fejl (der er ikke data i hverken Pivot tabel 1 eller Pivot tabel 2). Og GoTo handlingen fungerer fint for den første pivot-tabel, men skal så nulstilles før den prøver at hente data fra Pivot tabel 2..

Når dette ikke sker kommer den med fejlmeddelelsen:

Run-time error '1004':
"Formlen er ufuldstændig. Sørg for, at den afsluttende kantede parentes ] ikke mangler."

(Samme fejlmeddelelse får jeg hvis jeg ikke har GoTo linjen ved Pivot tabel 1).
Avatar billede claes57 Ekspert
16. september 2011 - 13:48 #5
prøv med

Pivot_2:      '(label 2)
    On Error GoTo 0
    On Error GoTo Pivot_3
Avatar billede rene_andersen Nybegynder
16. september 2011 - 14:22 #6
Det var på den måde jeg oprindelig havde skrevet det (og det sted jeg ummidelbart synes giver mest mening at placere koden), men det gør desværre ingen forskel..
Avatar billede claes57 Ekspert
16. september 2011 - 15:41 #7
??? jeg har ingen forslag til ændringer ...
Avatar billede rene_andersen Nybegynder
19. oktober 2011 - 22:55 #8
Lukker spørgsmålet..
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
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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