Mam przycisk w moim formularzu, który czyści cały skoroszyt 8-arkuszowy. Chciałbym to od czasu do czasu oczyścić, ale nie chciałbym tego zrobić przez przypadek. Próbowałem googling, ale każdy wynik, który znalazłem zakłada, że mam dużo mocniejsze zrozumienie VBA niż ja. Jak mogę to zrobić po kliknięciu przycisku Otworzy się okno dialogowe z napisem "To wszystko wymazuje! Czy na pewno? [Kontynuuj] [Anuluj]"? Dzięki.Dodaj "Czy na pewno?" do mojego przycisku Excel, jak mogę?
17
A
Odpowiedz
53
Na istniejącego kodu przycisku, wystarczy włożyć tę linię przed zabiegiem:
If MsgBox("This will erase everything! Are you sure?", vbYesNo) = vbNo Then Exit Sub
To zmusi go rzucić wtedy, gdy użytkownik nie ma.
0
Po prostu utwórz niestandardową postać użytkową, która jest wyświetlana po naciśnięciu przycisku "usuń", a następnie połącz przycisk kontynuacji z rzeczywistym kodem usuwającym. Ustaw przycisk Anuluj, aby ukryć formularz użytkownika.
9
Utwórz nowy okręt podwodny z następującym kodem i przypisz go do przycisku. Zmień "DeleteProcess" na nazwę swojego kodu, aby dokonać usunięcia. Spowoduje to wyświetlenie okienka z OK lub Anuluj i zadzwoni do skasowania sub, jeśli trafisz ok, a nie jeśli naciśniesz anuluj.
Sub AreYouSure()
Dim Sure As Integer
Sure = MsgBox("Are you sure?", vbOKCancel)
If Sure = 1 Then Call DeleteProcess
End Sub
Jesse
+1 dokładniej do pracy z wbudowanymi stałymi – brettdj
+1 Zgadzam się z @brettdj. Generalnie lepiej jest używać stałych, aby zapewnić czytelność i łatwość konserwacji. –
+1 Podoba mi się ta odpowiedź, ale mówiąc ściśle: "Jeśli MsgBox (" To wszystko wymazuje, czy jesteś pewien? ", VbOKCancel) = vbOK Wtedy' byłoby bliżej, ponieważ poprosił o przyciski 'Kontynuuj' i' Anuluj' . – JimmyPena