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.

Excel VBA Wyłączenie Msgbox

25 Mar 2020 20:51 123 6
  • Poziom 1  
    Hej, a czy macie jakieś pomysły, jeśli nie mogę zmieniać kodu pliku B? Uruchamiam makrem z pliku A kolejno 24 pliki i w każdym uruchamiam jakieś makro. Makra tych plików wyrzucają komunikaty, które są nieistotne dla mnie np "odświeżono dane", a wstrzymują moje makro. Znacie sposób na pominiecie tych msgbox-ów?
  • Poziom 34  
    kaczak88 napisał:
    Uruchamiam makrem z pliku A kolejno 24 pliki i w każdym uruchamiam jakieś makro.

    A jak wygląda ten kod?
  • Poziom 2  
    Cześć :)
    Nie wiem, czy tu jest istotny kod tego makra - mam zdaje się podobny problem.

    Uruchamiam makro i po drodze Excel generuje kilka pytań, na które odpowiedzi chciałbym zautomatyzować.
    W wielu miejscach znajduję instrukcję tworzenia MsgBoxów, ale nigdzie nie znalazłem jak zakodować w VBA automatyczne odpowiadanie na nie.

    I tak np. Excel zadaje pytanie: Excel VBA Wyłączenie Msgbox

    Na które chciałbym automatycznie odpowiedzieć nie.

    Jak to zrobić?
  • Poziom 38  
    Cytat:
    nie znalazłem jak zakodować w VBA automatyczne odpowiadanie na nie

    Po ta one są w kodzie, żeby była interakcja z użytkownikiem.
    Jak ich nie chcesz, to je wyeliminuj.
    Co do pytania o zapis pliku, to użyj ThisWorkbook.Close False.
    I nie zakładaj co chwilę nowego konta.
  • Poziom 2  
    PRL - jeżeli to o zakładaniu nowego konta było do mnie, to nietrafione. To jest pierwsze.

    Nie jestem znawcą VBA - makro stworzyłem poprzez nagrywanie.
    Okienka o których mowa wyskakują z automatu - moje makro otwiera cztery pliki, każdy obrabia, wyniki wrzuca do piątego, cztery zbędne potem zamyka - bez zapisywania, bo potem miałbym błędy przy kolejnym odpaleniu.

    Jak rejestrowałem makro też się mnie pytał, czy chcę zapisać - klikałem, że nie - ale tego niestety nie pamięta. Jak rejestrując makro zgadzasz się na zapis pliku, to potem makro to odtwarza - z negacją ma jakiś problem.

    I tak np tutaj:
    Range("H267:AS1015").Select
    Range("AS1015").Activate
    Selection.Copy
    Windows("TARGET?WKA.xlsx").Activate
    Sheets("BAZA dane").Select
    Range("E3").Select
    ActiveSheet.Paste
    Sheets("TARGET?WKA").Select
    Windows("Baza.xlsx").Activate
    ActiveWindow.Close

    Po obrobieniu danych kopiuje co trzeba do pliku wynikowego, a plik źródłowy zamyka. Jak zamknąć go tak, aby nie zadawał pytań o zapis? Albo automatycznie odpowiedzieć, żeby nie zapisywał?
  • Poziom 38  
    Cytat:
    makro stworzyłem poprzez nagrywanie.

    Poprzez nagrywanie makra nie ma możliwości, żeby Excel dodał MsgBox.

    Kod: vbscript
    Zaloguj się, aby zobaczyć kod
  • Poziom 2  
    Może źle to nazywam - ale nawet jak nie rejestrujesz makra, tylko po prostu zamykasz plik, to zostaniesz odpytany o jego zapis.
    Tutaj mówię o tym samym.

    Zresztą nieważne, fragment kodu, który wkleiłeś rozwiązał mój problem - wielkie dzięki! :)