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

[Rozwiązano] Warunkowe zatrzymanie makra

21 Lut 2020 12:15 348 11
  • Poziom 12  
    Użyłem komendy do zatrzymania skryptu jeśli warunek nie zostanie spełniony If IsError(a) Then Exit Sub problem polega na tym że wyłącza mi to całkowicie skrypt a potrzebuje by po wypełnieniu tego warunku po prostu zatrzymał się i wrócił do początku nasłuchując z powrotem informacji z 1A
    Z góry dziękuję za okazaną pomoc
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Pomocny post
    Poziom 33  
    Bez załącznika i nie wiedząc, jak dokładnie ma działać to makro, można się tylko domyślać, że polecenie
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    jest w złym miejscu. Wyjście następuje przed przywróceniem obsługi zdarzeń, więc wydaje się, że arkusz przestał reagować na zdarzenia. Proszę spróbować przesunąć tę instrukcję 2 linijki niżej po:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
    bo chyba trzeba przywrócić ochronę arkusza również gdy był błąd w a.
  • Poziom 12  
    Maciej Gonet napisał:
    Bez załącznika i nie wiedząc, jak dokładnie ma działać to makro, można się tylko domyślać,


    wrzucam cały plik
    w usuwanie wpisuję kod jeśli jest w wstawianie to go usuwa i przenosi do zakładki baza a jeśli nie ma w zakładce wstawianie to ma wyświetlić komunikat o błędzie i wstrzymać dalsze wykonywanie zadania do ponownego wpisania i tu jest problem wyświetla komunikat i leci dalej
  • Pomocny post
    Moderator Programowanie
    Nie wystarczy po prostu:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Trochę nielogiczne pytać najpierw czy nie ma błędu, a następnie czy jest...
  • Pomocny post
    Poziom 38  
    To nie było pytanie, czy nie ma błędu, a czy znaleziono szukany tekst:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod

    Stąd taka negowana logika.:)

    Powyższy kod to przerobiony kod:
    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 12  
    Dokładnie jak kolega powyżej napisał przerobiłem kod który napisał
    Teraz mam taki problem jak jest błąd w usuwaniu wszystko działa jak należy ale jeśli wprowadzę poprawnie czyli w usuwanych wprowadzę kod do usunięcia z wstawianych na "nnn" "mmm" to skrypt robi wszystko prawidłowo jednak po wykonaniu tego przestaje działać i drugi raz się go nie da uruchomić
  • Pomocny post
    Poziom 34  
    rafal24s napisał:
    Teraz mam taki problem jak jest błąd w usuwaniu wszystko działa jak należy ale jeśli wprowadzę poprawnie czyli w usuwanych wprowadzę kod do usunięcia z wstawianych na "nnn" "mmm" to skrypt robi wszystko prawidłowo jednak po wykonaniu tego przestaje działać i drugi raz

    Generalnie masz całą instrukcje 'if' blednie zrobioną, teraz kolega @adamas_nt wstawił ci 'Application.EnableEvents = True' tylko jak if (czyli jak a nic nie znajdzie)
    Makro musi zawsze zakończyć się 'Application.EnableEvents = True' nie zależnie czy a coś znajdzie czy nie przez to ci nie działa.
  • Poziom 12  
    Ok panowie mimo waszych najszczerszych chęci będzie z tego lipa, wrócę do podstawy co miałem zrobione a muszę po prostu przysiąść samemu i krok po kroku na nowo sie uczyć komend i zasad a potem wdrożyć to co mi potrzeba, bo nikt nie siedzi w mojej głowie by za mnie to zrobić
    Wielkie dzięki za pomoc
  • Pomocny post
    Poziom 38  
    Cytat:
    bo nikt nie siedzi w mojej głowie

    Dobrze to ująłeś.:)
    Może spróbuj w krokach opisać kolejne zdarzenia i ich skutki, to zamieni się to na VBA.
  • Poziom 12  
    PRL napisał:
    Cytat:
    bo nikt nie siedzi w mojej głowie

    Dobrze to ująłeś.:)
    Może spróbuj w krokach opisać kolejne zdarzenia i ich skutki, to zamieni się to na VBA.


    Arkusz usuwanie:
    Wpisujemy kod do komórki 1A
    Skrypt sprawdza czy jest ten kod w arkuszu wstawianie A:A
    jeśli jest usuwa go z arkusza wstawianie (najlepiej cała komórkę nie tylko wpis) odblokowywuje edycję w zakładka baza przepisuje go do arkusza baza do A:A i obok w B:B wstawia aktualną datę i godzinę poczym blokuje mozliwość edycji w zakładce Baza zapisuje zmiany na dysku U:
    Jeśli nie znajdzie wpisu w arkuszu wstawiane A:A to wyświetla się komunikat Błąd nie odnaleziono etykiety i na tym kończy