Soru ComboBoxta RowSource Son Dolu Satıra Kadar Otomotik Görünsün

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Herkese Merhaba

Userform özellikler kısmından
RowSource="KONTROL!E1:E12" şeklinde yazınca tanımlamalar ComboBoxa geliyor bir sorun olmuyor.
Ama KONTROL sayfasının E13 satırına tanımlama yaptığımda comboBoxta çıkmıyor , taki
RowSource="KONTROL!E1:E12" kısmını E13 veya E14 , E15 yapana kadar görünmüyor. Her seferinde RowSource ayrı ayrı düzeltmek istemiyorum .

Benim istediğim : RowSource="KONTROL!E1: den E son dolu satıra kadar ComboBoxta görünsün .
Bunun için tam olarak ne yazmam gerektiği konusunda yardım edebilecek varmı.
 

hmtstc

Altın Üye
Katılım
20 Şubat 2014
Mesajlar
315
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
10-04-2025
rowsource =KONTROL!E1:E & cells(rows.count,5).end(3).row

olarak yazablirsiniz
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Combobox1 i kendi combobox ınıza göre değiştirirsiniz.
Kod:
Private Sub UserForm_Activate()
    Dim RowSource As Range

    With Worksheets("KONTROL")
        Set RowSource = .Range("E1", .Range("E65536").End(xlUp))

    End With
    ComboBox1.RowSource = RowSource.Address
End Sub
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Combobox1 i kendi combobox ınıza göre değiştirirsiniz.
Kod:
Private Sub UserForm_Activate()
    Dim RowSource As Range

    With Worksheets("KONTROL")
        Set RowSource = .Range("E1", .Range("E65536").End(xlUp))

    End With
    ComboBox1.RowSource = RowSource.Address
End Sub
Bu sekilde birden fazla comboBoxum var. Her biri için mi bu kodu yazacam. Misal 2 tane combobox icin nasil yazacam bu kodu . Bir de ininstalize kismina yazmak daha mi iyi olur.
2 comboBoxlu 1 ornek verir misiniz .
 

hmtstc

Altın Üye
Katılım
20 Şubat 2014
Mesajlar
315
Excel Vers. ve Dili
Excel 2016 - Türkçe
Altın Üyelik Bitiş Tarihi
10-04-2025
Bu olayi tam olarak nereye yazıyoruz . Çünküayni formda birden fszla comboBoxum var benim

hocam bu sana bağlı, ne zaman güncellesin combobox kendini ? userform açılınca mı mesela ?
o zaman şöyle olur,

sub formgoster()
set sy = sheets("sayfa")
userform1.combobox1.rowsource=KONTROL!E1:E & sy.cells(rows.count,5).end(3).row
userform1. show
end sub


gibi...
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
Userform açıldığında combobox1 ve combobox2 ye KONTROL sayfasındaki sırasıyla E ve F Sütunundaki verileri getirecektir.
Kod:
Private Sub UserForm_Initialize()
    Dim RowSource1 As Range
    Dim RowSource2 As Range
    
    With Worksheets("KONTROL")
        Set RowSource1 = .Range("E1", .Range("E65536").End(xlUp))
        Set RowSource2 = .Range("F1", .Range("F65536").End(xlUp))
    End With
    ComboBox1.RowSource = RowSource1.Address
    ComboBox2.RowSource = RowSource2.Address
End Sub
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Sayın @hmtstc Sayın @muratboz06
ikinizin de eline emeğine sağlık çok teşekkür ederim. Sorunu çözdüm.
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Herkese Merhaba aşağıdaki kodlarla son dolu satıra kadar comboBox içeriği listeleniyor. Ama kodlarda şöyle vir sorun var formum çalıştığında form üzerindeki comboboxlar boş geliyor. Fakat vba açıkken formu çalıştırdığımda tüm veriler yerli yerinde geliyor. Yardım edebilecek olan var mı acaba

Kod:
Private Sub UserForm_Initialize()

 

 

'''''''''''''''''''Rowsource Kısmı''''''''''''''''''''''''''''''''''''''''''''''''''''''

  With Worksheets("KONTROL")

 

Dim RowSource1 As Range

Dim RowSource2 As Range

Dim RowSource3 As Range

Dim RowSource4 As Range

Dim RowSource5 As Range

Dim RowSource6 As Range

Dim RowSource7 As Range

Dim RowSource8 As Range

 

 

 

 

        Set RowSource1 = .Range("B2", .Range("B65536").End(xlUp))

        Set RowSource2 = .Range("A3", .Range("A65536").End(xlUp))

        Set RowSource3 = .Range("D3", .Range("D65536").End(xlUp))

        Set RowSource4 = .Range("C3", .Range("C65536").End(xlUp))

        Set RowSource5 = .Range("E2", .Range("E65536").End(xlUp))

        Set RowSource6 = .Range("G2", .Range("G65536").End(xlUp))

        Set RowSource7 = .Range("F2", .Range("F65536").End(xlUp))

        Set RowSource8 = .Range("H2", .Range("H65536").End(xlUp))

       

        

        

    

    ComboBox15.RowSource = RowSource1.Address

    ComboBox16.RowSource = RowSource2.Address

    ComboBox17.RowSource = RowSource3.Address

    ComboBox18.RowSource = RowSource4.Address

    ComboBox19.RowSource = RowSource5.Address

    ComboBox20.RowSource = RowSource6.Address

    ComboBox21.RowSource = RowSource7.Address

    ComboBox22.RowSource = RowSource8.Address

    End With

  End Sub
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Örnek dosya yüklüyorum.
Sorunu hala çözemedim.
Yardım edebilecek olan var mı?
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,765
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İlk olarak kayıt formu için aşağıdaki linkteki çalışmayı inceleyiniz. Size faydası olacaktır.


Sonra aşağıdaki kodu deneyiniz.

Siz kodları gereksiz yere uzatmışsınız. Gereksiz tanımlamalardan kaçınmalısınız. Kafanızın karışmasına sebebiyet verecektir.

C++:
Private Sub UserForm_Initialize()
    Dim S1 As Worksheet
    Set S1 = Sheets("KONTROL")
    
    ComboBox15.RowSource = "'" & S1.Name & "'!B2:B" & S1.Cells(S1.Rows.Count, "B").End(3).Row
    ComboBox16.RowSource = "'" & S1.Name & "'!A3:A" & S1.Cells(S1.Rows.Count, "A").End(3).Row
    ComboBox17.RowSource = "'" & S1.Name & "'!D3:D" & S1.Cells(S1.Rows.Count, "D").End(3).Row
    ComboBox18.RowSource = "'" & S1.Name & "'!C3:C" & S1.Cells(S1.Rows.Count, "C").End(3).Row
    ComboBox19.RowSource = "'" & S1.Name & "'!E2:E" & S1.Cells(S1.Rows.Count, "E").End(3).Row
    ComboBox20.RowSource = "'" & S1.Name & "'!G2:G" & S1.Cells(S1.Rows.Count, "G").End(3).Row
    ComboBox21.RowSource = "'" & S1.Name & "'!F2:F" & S1.Cells(S1.Rows.Count, "F").End(3).Row
    ComboBox22.RowSource = "'" & S1.Name & "'!H2:H" & S1.Cells(S1.Rows.Count, "H").End(3).Row
    TextBox21.Text = WorksheetFunction.Max(Sheets("VERİ").Range("A1:A65536")) + 1
End Sub
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Sayın @Korhan Ayhan Hocam
Kodlar Run time error 13type mismatch hatası veriyor ve form malesef açılmıyor.
Dosyayı incelemeniz için ekte gönderiyorum.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,765
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Üstteki mesajımda ki kodu revize ettim. Tekrar deneyiniz.
 

TURKOLOG

Altın Üye
Katılım
13 Kasım 2008
Mesajlar
744
Excel Vers. ve Dili
2016 64 TR
Altın Üyelik Bitiş Tarihi
29-10-2026
Sayın @Korhan Ayhan Hocam elinize emeğinize sağlık . Dosya çalıştı.
Birine lazım olur diye dosyanın çalışır halini yüklüyorum.
 

Ekli dosyalar

Üst