UserForm'u Koşula Bağlı Olarak Initialize Edebilirmiyiz

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Ben aşağıdaki gibi denedim ama beceremedim yada böyle bir olay varmı

Private Sub UserForm_Initialize()
If Yön.Value = Eleman_Tnt Then
ListBox1.RowSource = "Eleman_Tnt!A2:D65000"
ListBox1.ColumnCount = "3"
ListBox1.ColumnWidths = 20 & ";" & 95 & ";" & 300
Exit Sub
End If
If Yön.Value = Isk_Tnt Then
ListBox1.RowSource = "Isk_Tnt!A2:D65000"
ListBox1.ColumnCount = "3"
ListBox1.ColumnWidths = 20 & ";" & 95 & ";" & 300
Exit Sub
End If
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,652
Excel Vers. ve Dili
Pro Plus 2021
Aşağıdaki gibi deneyin.
Kod:
Private Sub UserForm_Initialize()
    ListBox1.ColumnCount = 3
    ListBox1.ColumnWidths = "20;95;300"
    ListBox1.RowSource = Yön.Value & "!a1:c25"
End Sub
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Sayın veyselemre yardımınız için teşekkür ederim yalnız Iniztalize olayında problem oldu.

Kod:
Private Sub Bul_Click()
Bul_Frm.Kod.Value = "Eleman Kodu"
Bul_Frm.Ad.Value = "Satın Alma Elemanı"
Bul_Frm.Yön.Text = "Eleman_Tnt"
Bul_Frm.Show
End Sub
Command butona bastığımda Bul formuna verileri aktarıyorum

yukarıda sizin kodunuzu kullandığım zaman RowSource değeri boş görünüyor ve hata veriyor neden olduğunu bir türlü anlayamadım
 
S

Skorpiyon

Misafir
Sayın programer,

Sayın veyselemre'nin kodları önüne ekleyin. Denemedim ama sanırım işinizi görür.

Private Sub UserForm_Initialize()
Bul_Frm.ListBox1.ColumnCount = 3
Bul_Frm.ListBox1.ColumnWidths = "20;95;300"
Bul_Frm.ListBox1.RowSource = Yön.Value & "!a1:c25"
End Sub

Saygılarımla...​
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Yardımınız için teşekkür ederim ama sorun halen devam ediyor. Aşağıya örnek dosya ekledim.
 
S

Skorpiyon

Misafir
Sayın programer,

Kodlarınızı aşağıdaki gibi değiştirin.

Private Sub UserForm_Initialize()
Bul_Frm.ListBox1.ColumnCount = 3
Bul_Frm.ListBox1.ColumnWidths = "20;95;300"
Bul_Frm.ListBox1.RowSource = "Stk_Stk_Tnt!a1:c25"
'Bul_Frm.ListBox1.RowSource = Yön.Value & "!a1:c25" - Yanlış
End Sub

Siz hangi sayfayı görüntülemek istiyorsanız, o sayfanın ismini yazınız.

Saygılarımla...
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Sayın Sertkaya

Yardımınız için tekrar teşekkür ederim. Bu yöntemi biliyorum. Benim yapmak istediğim yön text'indeki veriye göre user formu Iniztalize etmek sizin verdiğiniz yöntemde Listbox veriyi sabit bir sayfadan alıyor.
 
S

Skorpiyon

Misafir
Sayın programer,

Bir de bunu deneyin.

Bul_Frm.ListBox1.RowSource = Yön.Value & "a1:c25"
(Ünlem'i kaldırarak)

Saygılarımla...
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Sayın programer,

Sayın veyselemre'nin kodları önüne ekleyin. Denemedim ama sanırım işinizi görür.

Private Sub UserForm_Initialize()
Bul_Frm.ListBox1.ColumnCount = 3
Bul_Frm.ListBox1.ColumnWidths = "20;95;300"
Bul_Frm.ListBox1.RowSource = Yön.Value & "!a1:c25"
End Sub

Saygılarımla...​
Yukarıda da aynı cevabı verdiniz sayın sertkaya. verdiğim örnegi incelediyseniz nerde hata verdiğini göreceksiniz zaten
 
S

Skorpiyon

Misafir
Sayın programer,

Ünlem işaretini kaldırın demiştim.

Bul_Frm.ListBox1.RowSource = Yön.Value & "!a1:c25"


Saygılarımla...
 

programer

Altın Üye
Katılım
26 Mayıs 2005
Mesajlar
608
Excel Vers. ve Dili
Office 2022 - Türkçe
Altın Üyelik Bitiş Tarihi
16-03-2025
Sayın programer,

Ünlem işaretini kaldırın demiştim.

Bul_Frm.ListBox1.RowSource = Yön.Value & "!a1:c25"


Saygılarımla...
Sayın sertkaya kusura bakmayın yanlış anlamışım. Sizin dediğiniz gibi yaptım ama bul formu hangi sayfa aktifse orayı Iniztalize ediyor yön textindeki veriye göre yapmıyor kodları adımladığımız zaman Iniztalize kısmındaki Bul_Frm.ListBox1.RowSource = Yön.Value boş görünüyor halbuki içi dolu neden uapmadığını anlamadım bi türlü
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Birebir soruyu anladığım söylenemez. Fikir verebilir açısından örnek niteliğinde bir dosya hazırladık. Formu açtıktan sonra F1 hücresine 1 ve daha sonra 2 sayısını girerek, oluşumu gözlemleyiniz.

Private Sub Worksheet_Change(ByVal Target As Range)
If Sayfa1.[f1] = 1 Then UserForm1.ComboBox1.RowSource = "a1:a20"
UserForm1.ComboBox1.DropDown
Target.Select
If Sayfa1.[f1] = 2 Then UserForm1.ComboBox1.RowSource = "b1:b20"
UserForm1.ComboBox1.DropDown
Target.Select
If Sayfa1.[f1] <= 0 Then UserForm1.ComboBox1.RowSource = ""
End Sub
 
S

Skorpiyon

Misafir
Sayın programer,

Dosyanız ektedir.

Saygılarımla...
 
Üst