Aktif olan Visual Basic formunun kapatılması

Hüseyin

Administrator
Yönetici
Admin
Katılım
2 Haziran 2004
Mesajlar
3,541
Excel Vers. ve Dili
Excel 2010 - Türkçe
Merhaba,
Formun üzerine bir buton ekleyin. Buton ekleyin buton üzerindeyken sağ mouse butonuyla "View Code" tıklayın

Kod:
Private Sub CommandButton1_Click()

End Sub
şeklinde gelecektir.
Bunun içine formun adı Form1 ise şunu yazın:
Form1.Hide
Sunuçta aşağıdaki gibi görünmeli:

Kod:
Private Sub CommandButton1_Click()
Form1.Hide
End Sub
Saygılar
 
Katılım
14 Temmuz 2004
Mesajlar
17
Merhaba Sayın Sakaryalı,
Hüseyin Bey'in söylediği işlemleri yaptıktan sonra aradaki kodu eğer Form1.Hide şeklinde yazarsanız bahis konusu formu kapatmış olmazsınız, sadece gizlemiş olursunuz. Yani form halen çalışabilir vaziyette sizin kendisini görüntülemenizi bekliyor.

Oysa formu kapatılması için Unload gibi bir komutun kullanılması gerekmektedir. Böylece form bellekten de silinir.

Burası bir Excel Forumu olduğu için sizin söylediğinizi de VB değil de VBA olarak algılarsak aradaki kod tam olarak aşağıdaki gibi olmalıdır.

Kod:
Private Sub CommandButton1_Click() 
    Unload UserForm1
End Sub
Hüseyin Bey 'de böyle algılamış olacak ki Command1 yerine CommandButton1 yazmış. VB de de aynı kod geçerli olacaktır.

Kod:
Private Sub Command1_Click()
    Unload Form1
End Sub
Hide ile Unload arasındaki fark bu. O halde başka bir düğme ile formu tekrar aktif yapmak isterseniz Initialize olayını kullanmalısınız. Eğer Hüseyin Bey'in dediği gibi gizlemişseniz o zman Activate olayını kullanmalısınız.

O halde özet yapacak olursak.

Hide ----> Activate
Unload ---> VBA için Initialize , VB için Load

Çalışmalarınızda başarılar dilerim.

M. Temel Korkmaz - BURSA
 
Katılım
7 Temmuz 2004
Mesajlar
1,141
Hide ----> Activate
Unload ---> VBA için Initialize , VB için Load
Visual Basic'te Inıtialize'de load'da kullanılır.

Nüans;

Olayların sıralamasının şu şekilde olmasıdır.

initialize , load, activate, paint şeklinde olmasıdır.








[/quote]
 
Üst