Dezactivați mesajele de avertizare prin VBA

Anonim

Cum se elimină mesajele de avertizare VBA

Dacă ștergeți registrele de lucru sau tabelele sub control macro sau efectuați alte operațiuni serioase, Excel îl întreabă pe utilizator după ce a început macro-ul dacă acesta este cu adevărat ceea ce doriți. Următoarea ilustrație arată cum poate arăta fereastra:

Practic, această fereastră este cu siguranță utilă, deoarece previne ștergerea accidentală a datelor importante. În multe cazuri fereastra este enervantă și confuză pentru utilizator. Imaginați-vă o soluție VBA în care tabelele pentru pașii interni de calcul trebuie să fie create și apoi șterse. Apoi fereastra de mesaje cauzează dificultăți utilizatorului, deoarece utilizatorul nu are cum să știe cum funcționează macro-ul intern.

În astfel de cazuri este logic să opriți fereastra de avertizare. Pentru că puteți face acest lucru folosind proprietatea DisplayAlerts valoarea Fals pentru a atribui. Următoarea macrocomandă face acest lucru și apoi șterge prima foaie din tabelul în care se află macrocomanda:

Sub SwitchWarningOff ()
Application.DisplayAlerts = Fals
ThisWorkbook.Sheets (1). Ștergeți
Application.DisplayAlerts = Adevărat
Sfârșitul Sub

Macrocomanda nu afișează un mesaj de avertizare, deoarece mesajul de avertizare a fost dezactivat cu prima comandă. Înainte ca macro-ul să se termine, toate mesajele de avertizare sunt pornite din nou. Nu uitați să vă amintiți acest lucru! La fiecare comandă cu care tu DisplayAlerts pe Fals set, există și o comandă pe care o puteți utiliza pentru a reporni fereastra de avertizare după ce macro-ul dvs. a efectuat operațiunea corespunzătoare care poate duce la o fereastră de avertizare. Puteți porni atribuind valoarea Adevărat.