Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

VBA - Obsługa błędów w kodzie

m4xon 22 Wrz 2016 13:21 774 2
  • #1 22 Wrz 2016 13:21
    m4xon
    Poziom 15  

    Cześć,

    Potrzebuję podpowiedzi w kwestii obsługi błędu przy stosowaniu funkcji offset i resize.

    Mianowicie mam kod, który filtruje tabelę, aby pokazała wszystkie dane inne niż #N/A:

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    W sytuacji, gdy znajdzie przekopiowuje do innej karty, a następnie usuwa.
    Jednak w sytuacji gdy nie ma żadnych danych innych niż #N/A to chciałbym aby nie usuwało i kod poszedł dalej, ponieważ przy zastosowaniu
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    usuwane są wszystkie zafiltrowane dane. Domyślam się, że winny jest to CurrentRegion. Da się to jakoś obejść obsługą błędów w stylu On error...

    Dzięki

    0 2
  • Pomocny post
    #2 22 Wrz 2016 20:44
    adamas_nt
    Moderator Programowanie

    A gdybyś zamknął wszystko w instrukcji warunkowej? Np

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    0
  • #3 23 Wrz 2016 09:46
    m4xon
    Poziom 15  

    Dziękuję bardzo za pomoc, idąc za Twoją radą zrobiłem to w następujący sposób, aby kopiowało mi nagłówek, ale gdy nie ma innych danych niż N/A to aby nie usuwał.

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod


    -----------------------------------------------------------------------------

    W kwestii obsługi błędów potrzebuję pomocy jeszcze z jedną kwestią, mianowicie mam następujący kod:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Cały workbook składa się z 6 sheetów, dwa z nich są puste (3 i 6), zawierają tylko nagłówek, bo najczęściej nie ma do nich danych w raporcie. Przy zastosowaniu powyższego kody zachodzi taka sytuacja, że 3 kartę kod przechodzi poprawnie i przeskakuje dalej jako że nie ma z czego utworzyć subtotali, natomiast w 6 zakładce wykrzacza się na:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    z załączonym błędem.

    innymi słowy, gdy drugi raz napotyka błąd to nie może przejść dalej.


    ----------------------------------------------------------------------------
    update: udało mi się obejść powyższy błąd metodą
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Ale tym nie mniej zastanawiam się co było źle w pierwszym wariancie...

    0