• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

bir userform üstündeki commandbuttonu başka bir komutla otomatik çalıştırmak

Katılım
14 Ekim 2006
Mesajlar
267
Excel Vers. ve Dili
excel2003 Tr
çalıştığım programda bir userform üstünde commandbuttona görev atamışım. ancak ben bu formun açılmadan başka bir butonla bu formdaki butonu harekete geçirmek istiyorum. mümkün mü acaba?

yardımlarınız için şimdiden teşekkürler

saygılar:yardim:
------------------------------------------------------------------------
bana bir harf öğretenin KIRK yıl kölesi olurum.
 
Merhaba.
Çalıştırmak istediğiniz commandbuton1 olduğunu varsayarsak Aşağıdaki kodu bir denermisiniz?
Kod:
Call CommandButton1_Click
 
Kod:
Private Sub Userform_Initialize()
    CommandButton1_Click
End Sub
Form açılmadan önce butonun işini yapacak. Gördüğünüz gibi Prosedürün ismini yazmak yeterli olacaktır.
 
sn sezar

evet bu kod çalıştırıyor ancak hangi userform üstünde olduğunu nasıl belirtecez. çünkü commandbutton1 userform3 üstünde ama ben commandbutton1 i userform2 deki komutla çalıştıracam yani userform3 açık değil.

saygılar.:yardim:
 
Bir tane Boş bir module açınız.Ve kodları o modüle yazınız.Mesela
sub a
msgbox "deneme"
end sub
commandButton'lara call a yazınız ve her iki userform'da ayni kodları kullanabilir.
 
evet bu kod çalıştırıyor ancak hangi userform üstünde olduğunu nasıl belirtecez. çünkü commandbutton1 userform3 üstünde ama ben commandbutton1 i userform2 deki komutla çalıştıracam yani userform3 açık değil.

Aşağıdaki gibi bir çözümde kullanabilirsiniz. Öncelikle userform3 teki prosedürü private olarak değilde sadece sub olarak tanımlayın. Yani,

Kod:
Private Sub CommandButton1_Click()

Yukarıdaki prosedür yerine aşağıdaki gibi yapın.

Kod:
Sub CommandButton1_Click()

Daha sonrada userform2 deki butonada aşağıdaki kodu yazın.

Kod:
Private Sub CommandButton1_Click()
UserForm3.CommandButton1_Click
End Sub
 
sn sezar galiba ben anlatamadım

userform2 de commandbutton1 e aşağıdaki kodları atamışım;

Private Sub CommandButton1_Click()
Sheets("urun").Select
bastar = CLng(CDate(TextBox1))
bittar = CLng(CDate(TextBox2))
[3ay!a2:z65530].ClearContents
For a = 1 To [a65530].End(3).Row
deg = Cells(a, "B")
If deg >= bastar And deg <= bittar Then
son = [3ay!a65530].End(3).Row + 1
Sheets("3ay").Range("a" & son & ":Z" & son) = Range("a" & a & ":Z" & a).Value
End If
Next
End Sub

benim istediğim programda çalışan ve ana menu olarak adlandırdığım userform açıkken üstündeki bir buttonla userfom2 de yukarda gördüğünüz kodları beraber çalıştırması. tabi bu durumda userform2 açık olmayacak. userform2 aktif olarak kullanılacak bir form değil her gün bu kodların çalışması gerekiyor. o yüzden kullanıcının mudahalesi olmadan (userform2 görünmeden ve açılmadan) userform2 hergün ana menüdeki bir butonla devreye girecek.

yardımlarınız için teşekkürler.
saygılar.:yardim:
 
Yukarıdaki kodunuzdaki private kelimesini kaldırın. Sadece Sub CommandButton1_Click() şeklinde kalsın. Ana userformunuzdaki butonada aşağıdaki kodu yazın.

Kod:
[LEFT]Private Sub CommandButton1_Click()
UserForm2.CommandButton1_Click
End Sub[/LEFT]
 
sn leventm

sayın hocalarım

en son mesajımda userform2 ile userform3 ün yerlerini karıştırdım özür dilerim. ancak sayın leventm hocamın yazdığı aynen benim istediğim gibi. mükemmelsiniz.

yardımcı olan herkese çok teşekkür ederim..

saygılar.:hey:
 
Geri
Üst