• DİKKAT

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

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

Katılım
26 Mayıs 2005
Mesajlar
609
Excel Vers. ve Dili
Office 2022 - Türkçe
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
 
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
 
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
 
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...​
 
Yardımınız için teşekkür ederim ama sorun halen devam ediyor. Aşağıya örnek dosya ekledim.
 
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...
 
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.
 
Sayın programer,

Bir de bunu deneyin.

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

Saygılarımla...
 
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
 
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 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ü
 
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
 
Sayın programer,

Dosyanız ektedir.

Saygılarımla...
 
Geri
Üst