Farklı UserForm'daki Sayfayı Açmak

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Şöyle bir çalışmaya ihtiyacım var,

"UserForm5" isimli UserForm'da, CommandButton22'nin (düğme adı ADMİN) bünyesinde bulunan "YOKLAMA_SAYFASI" nda , "OCAK" isimli düğmeye tıklayınca ;

Önce, UserForm3'ü aç,

Sonra UserForm3'teki CommandButton43'ü (düğme adı ANA_SINIF) aktive et ve bu düğmenin bünyesinde bulunan "Ocak" isimli sayfayı aç,

Diyerek UserForm3 teki CommandButton43 düğmesine bağlı "OCAK" sayfasını açmak ve yine bir başka düğme ile "YOKLAMA_SAYFASI" isimli sayfaya dönmek
istiyorum.

Aşağıdaki gibi bir kod denedim ancak eksik ve/veya hatalı olduğu için sonuç alamadım.

Sub Ocak_Aç()
UserForm3.Show
CommandButton43.Activate
Sheets("OCAK").Select
End Sub

Sub Dön()
UserForm5.Show
CommandButton22.Activate
Sheets("YOKLAMA_SAYFASI).Select
End Sub

Teşekkür ederim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki şekilde deneyin.

Kod:
Sub Ocak_Aç()
    UserForm3.Show
    Sheets("OCAK").Select
    Sheets("YOKLAMA_SAYFASI).CommandButton43.Activate
End Sub


Sub Dön()
    UserForm5.Show
    Sheets("YOKLAMA_SAYFASI).Select
    Sheets("YOKLAMA_SAYFASI).CommandButton22.Activate
End Sub
İstediğiniz olmadıysa eğer aşağıdakileri cevaplandırın.

Butonlar sayfada mı?
Bu yazdığınız kodlar ile yapmak istediğiniz şeyin hangi kısmı eksik kalıyor?
Bir hata mesajı alıyorsanız hata mesajı nedir?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın dalgalikur merhaba,

1) Ocak ayına gitmeyi sağlayacak olan buton "YOKLAMA_SAYFASI" isimli sayfada,
2) Gidilecek olan "OCAK" sayfası, userform3 te olan CommanButton43 tıklanınca açılıyor.
3) Önerdiğiniz Ocak_Aç kodunda oluşan hata aşağıdadır.

 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
O zaman şöyle yapalım siz kod yerine yapmak istediklerinizi yazın.

Sub Ocak_Aç()
Userform3'ü aç
Ocak adlı sayfayı aç
CommandButton22 adlı butonu aktif et(butonun nerede olduğu önemli, hangi sayfada yada hangi userformda olduğunu belirtin)

bu şekilde devam ederek yazarsanız belki daha iyi anlaşılır.
End Sub


Sub Dön()
Bunu da yukarıdaki gibi yazın.
End Sub
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın dalgalikur merhaba,

Öncelikle ilginiz için teşekkür ederim,

Önerileriniz doğrultusunda, açıklamalı ve şemalı bir dosya ekledim.
 

Ekli dosyalar

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın dalgalikur merhaba,

Emek ve ilginiz için teşekkür ederim, sağ olun.

Olabiliyor ise ;

Ben, "YOKLAMA_SAYFASI" isimli sayfadaki Ocak düğmesine tıkladığımda, hiç bir ara düğme vb kullanmadan,

(UserForm3'te konuşlu CommandButton43'teki) "OCAK" sayfasına direkt gitmek ve

"OCAK" sayfasında, Dön düğmesine tıkladığımda, yine direkt olarak, (UserForm5'te konuşlu, CommandButton22' deki) "YOKLAMA_SAYFASI" isimli sayfaya dönmek istiyorum,

(UserForm5-->CommandButton22-->"YOKLAMA_SAYFASI"-->) Ocak Düğmesi'ni tıkladım,

DİREKT olarak ; (UserForm3-->CommandButton43-->) "OCAK" Sayfası'na gitmek istiyorum.

Teşekkür ederim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
Ben çözemeyeceğim her halde anlayamıyorum.

Kolay gelsin.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın dalgalikur tekrar merhaba,

Önemli değil,

Gösterdiğiniz iyi niyet ve gayretleriniz için teşekkür ederim.

Saygılarımla.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Şayet mümkün olabiliyor ise ;

UserForm'da (UF5) bir CommandButton'a (CB22) bağlı sayfadan ("YOKLAMA_SAYFASI") , bir düğme (Ocak_Git) aracılığı ile, başka hiç bir ara düğme vb.kullanmadan,

Başka bir UserForm'da (UF3), bir CommandButton'a (CB43) bağlı bir sayfayı ("OCAK"), açmak,

Yine benzer yöntemle de, ilk sayfaya ("YOKLAMA_SAYFASI") dönmek istiyorum.

1 ve 7 nci sayfalarda açıklamalar, 5 nci sayfada açıklamalı ve şemalı ek'li dosyam var.

Çözüm rica ediyorum,

Teşekkür ederim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
Bir sayfayı açmak için kullanılacak kod şudur.

worksheets("SayfaAdı").activate

SayfaAdı yerine açmak istediğiniz sayfanın adını yazın.

Bu sayfa hangi butona basılınca açılacaksa o butonun Click olayına yazılmalıdır.

Örnek: Ocak adlı sayfa CommandButton1 adlı butona basınca açılsın istiyorsanız aşağıdaki kodu kullanın.

private sub commandbutton1_click()
worksheets("Ocak").activate
end sub

Bu kadar basit.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın dalgalikur merhaba,

Nezaketiniz ve ilginiz için teşekkür ederim,

Sanırım düşüncelerimi ve isteğimi size tam ifade edemiyorum ;

Ulaşılmak istenen sayfa (OCAK), başka bir userform'un bir commandbutonu tıklanınca açılan bir sayfa,

Önerdiğiniz kodlar UserForma ulaşsa bile CommandButton altındaki sayfaya erişemiyor,

Sub Ocak_Aç()
'Ocak düğmesi tıklanınca ; UserForm3'ü Aç
'Sonra UserForm3'teki CommandButton43'ü Aç
'Sonra CommandButton43'ün bünyesindeki Ocak sayfasını aç
End sub

Kısaca, olabiliyor ise ; UserForm5 teki bir sayfadan, UserForm3'teki Ocak sayfasına KÖPRÜ kurmak istiyorum,

İsteğimi anlatamamak bir yana, böyle bir işlem dizisi olabiliyor mu bilmek istiyorum.

Teşekkür ederim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
Sub Ocak_Aç()
'Ocak düğmesi tıklanınca ; UserForm3'ü Aç (1-Ocak düğmesi dediğiniz Command buton olmalı bu buton nerede bulunuyor?)
'Sonra UserForm3'teki CommandButton43'ü Aç (2-CommandButton43'ü aç derken neyi kast ediyorsunuz? Bir CommandButton'un açılması söz konusu olamaz. Tıklanmış gibi olmasını mı istiyorsunuz? Yoksa başka bir şey mi?)
'Sonra CommandButton43'ün bünyesindeki Ocak sayfasını aç (3-Bünyesinde derken neyi kast ediyorsunuz?)
End sub

Kısaca, olabiliyor ise ; UserForm5 teki bir sayfadan, UserForm3'teki Ocak sayfasına KÖPRÜ kurmak istiyorum,
.
Merhaba.

Yukarıda parantez içindeki üç soruya cevap yazar mısınız?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba sayın dalgalikur,

1) Ocak düğmesi commandbutton değil, sadece basit bir düğme olup, "YOKLAMA_SAYFASI" isimli sayfada bulunmaktadır,
a) "YOKLAMA_SAYFASI" isimli sayfa CommandButton22 tıklanınca açılıyor,
b) CommandButton22 ise UserForm5'te konuşludur,
2) CommandButton43 tıklanmış gibi olmasını istiyorum,
3) "OCAK" sayfası, CommandButton43 tıklanınca açılan sayfalardan bir tanesidir.
a) CommndButton43, UserForm3'te konuşludur,

Ben Userformlar arası, farklı 2 sayfa arasında bir bağ kurmanın çözümünü arıyorum,

Yönteminin önemi yok, ancak üst mesajlarda da sıralandığı gibi, "OCAK" sayfasına bir silsile ile ulaşılabileceğini varsaymıştım, yanlış bir varsayım da olabilir.

UserForm5'in CommandButton22'si tıklanınca açılan sayfadaki "Ocak_Aç" düğmesi tıklanınca, "OCAK" sayfasına ulaşması adına aradaki UF ve CB'u by-pass etsin istemekteyim.

Göstermiş olduğun duyarlığa, ilginize ve sabrınıza teşekkür ederim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
Sanki anladım gibi. :)
Eğer anlayamazsam kendime küseceğim, taktım bir kere.

Siz bir formda bulunan bir kontrole(Command button gibi) kod ile tıklatmak istiyorsunuz.
Ancak Form içinde bulunan prosedürler Yerel(Private) olduğu için ulaşamıyorsunuz.

Bunu çözmek için:

Tasarım halinde iken form üzerindeki butona çift tıklatın, kod sayfası açılacak ve otomatik olarak
Kod:
Private Sub CommandButton22_Click()

End Sub
yazacak siz burada bulunan "Private" yi "Pubilc olarak aşağıdaki gibi değiştirmeniz gerekiyor
Kod:
Public Sub CommandButton22_Click()

End Sub
Private: Sadece bulunduğu kod içerisinden erişilebilir, yerel demektir,
Public: Her yerden, başka dosyalardan bile ulaşılabilir, genel, umumi demektir.

Şimdi başka bir formdan burada bulunan Clik olayına ulaşıp çalıştırmak için şöyle yazabilirsiniz.
Kod:
Form5.CommandButton22_Click
İnşallah bu sefer sorun çözüldü mü?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın dalgalikur tekrar merhaba,

Zihnimi toparlayıp kodu dosyaya uygulayamadım,

Mümkün ise 6 nolu mesaj ekindeki dosyaya eklemenizi, yada yeni bir tanesini düzenlemenizi rica etsem çok şey istemiş olur muyum ?

Teşekkür ederim.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın dalgalikur merhaba,

Öneriler, açıklamalar ve örnekler doğrultusunda, deneme-yanılma ve biraz da şansla istediğime ulaştım sanırım, yaptığım testlerde sıkıntı çıkmadı.

Dosya ek'tedir.

Emekleriniz için çok teşekkür ederim.

Saygılarımla.
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,806
Excel Vers. ve Dili
2019 Türkçe
Çözdüğünüze sevindim. kolay gelsin.
 
Üst