• DİKKAT

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

Combobox sadece olan değerleri alsın

Barons

Altın Üye
Katılım
14 Mayıs 2005
Mesajlar
967
Excel Vers. ve Dili
Microsoft Ofis 365
merhaba
Forumda araştırdım ancak bulamadım.Aradığım husus şu ki;
Örnek A:A sütunudaki verileri combobox'a almak istiyorum ama row source baştan belirlemek yerine veri girdikçe verinin artışına göre kendi belirlesin istiyorum.bu mümkünmüdür?
Biraz daha açayım: örnek A kolonunda 14 veri varsa Combobox sadece 14 veriyi alsın ve tıkladığımda en son 14 veride sınırlansın ama 15 nici veri girildiğindede bu sefer 15 verilik açılsın.

Teşekkürler tüm Forum ve forum üyelerine,
 
Sanırım şöyle bir kod işinizi görür.
Kod:
Private Sub UserForm_Initialize()
a=[a65536].End(3).Row
For i=1 To a
ComboBox1.AddItem Sheets("Sayfa1").Cells(i, 1)
Next i
End Sub

Kodları Inıtialize yordamının altına yazdığımız için , veri A sütununa veri girdikten sonra tekrar userform un tekrar çağırılması gerekir.
 
Son düzenleme:
Double_Click olayı daha sağlıklı olur bence.Kodları şöyle düzenleyiniz.

Kod:
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
A = [a65536].End(3).Row
For i = 1 To A
ComboBox1.AddItem Sheets("Sayfa1").Cells(i, 1)
Next i
End Sub
A sütununa veri girdikten sonra userform a çift tıklayınca son veriye kadar olan hücreler combobox ta listelenir.

Örnek dosya ektedir.
 

Ekli dosyalar

:cool:
Kod:
ComboBox1.RowSource = "A1:A" & Cells(65536, "A").End(xlUp).Row
 
Çok teşekkürler yardımlarınız için.
Başta yardımcı olan arkadaşlar olmak üzere,Tüm forum üyelerine sağlık ve bol kazançlar diliyorum.
 
bir ilavemde daha olacaktı.
Bu koda "mükerrer verileri" göstermeyecek bir ilave yapılabilirmi?
 
Daha önce Ali Bey tarafından verilmiş olan bir çözüm buldum sorunuzla ilgili olarak.

Kod:
Private Sub UserForm_Initialize()
  Dim AllCells As Range, Cell As Range
    Dim ciftolmayan As New Collection
    Dim Item
    '    A1:A105 arası öğeleri yükler
    Set AllCells = Range("A1:A105")
    
    On Error Resume Next
    For Each Cell In AllCells
        ciftolmayan.Add Cell.Value, CStr(Cell.Value)
    Next Cell
    On Error GoTo 0
     '   Benzersiz öğeleri Combobox'a ekler
    For Each Item In ciftolmayan
        UserForm1.ComboBox1.AddItem Item
    Next Item
    UserForm1.Show
End Sub

Bakınız http://www.excel.web.tr/f120/mukerrer-cift-kay-t-engelleme-sayma-ornekleri-t17185.html
 
alternatif
Kod:
Private Sub UserForm_Initialize()
For kod = 2 To Range("A65536").End(xlUp).Row
If WorksheetFunction.CountIf(Range("a2:a" & kod), Cells(kod, 1)) = 1 Then
ComboBox1.AddItem Cells(kod, 1).Value
End If
Next
End Sub
 
çok teşekkürler yardımlarınız için arkadaşlar.
Herkese kolay gelsin.
 
Geri
Üst