2011-12-20 15 views
17

8 sayfalık çalışma kitabının tamamını temizleyen formumda bir düğme var. Ara sıra temizlemek istiyorum ama kazara yapmaktan nefret ediyorum. Onu denedim, ama bulduğum her sonuç, VBA'dan benden daha sıkı bir kavrayışım olduğunu varsayar. Düğmeye tıklandığında, "Bu her şeyi silecek! Emin misiniz? [Devam] [İptal]" diyen bir İletişim kutusu açılır. Teşekkürler.Ekle "Emin misiniz?" excel butonuna nasıl ulaşabilirim?

cevap

53

Sub AreYouSure() 

Dim Sure As Integer 

Sure = MsgBox("Are you sure?", vbOKCancel) 
If Sure = 1 Then Call DeleteProcess 

End Sub 

, sadece prosedüre önce bu satırı ekleyin:

If MsgBox("This will erase everything! Are you sure?", vbYesNo) = vbNo Then Exit Sub 

Bu kullanıcı presleri eğer bırakmaya zorlamak olacaktır hayır.

+0

+1 dahili dahili sabitlerle çalışmak için – brettdj

+0

+1 Agree with @brettdj. Okunabilirlik ve süreklilik için sabitleri kullanmak genellikle daha iyidir. –

+3

+1 Bu cevabı beğeniyorum ama kesinlikle konuşuyorum, 'Eğer MsgBox (" Bu her şeyi silecek, emin misin? ", VbOKCancel) = vbOK Sonra' Devam et 've' İptal 'düğmelerini istediği için daha yakın olurdu . – JimmyPena

0

Sadece "sil" düğmesine basıldığında görüntülenen özel bir kullanıcı formu hazırlayın, ardından devam düğmesini, silme işlemini gerçekleştiren gerçek koda bağlayın. İptal düğmesini kullanıcı formunu gizleyin.

9

Aşağıdaki kodu kullanarak yeni bir alt oluşturun ve düğmenize atayın. Silme işlemini yapmak için "Silme İşlemi" kodunu kodunuzun adıyla değiştirin. Bu, Tamam veya İptal ile bir kutuyu açacak ve eğer ok tuşuna basarsanız silme isminizi çağıracaktır ve iptal ederseniz de değil. Mevcut düğme Kodu Jesse

İlgili konular