• DİKKAT

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

Combobox farklı sayfadan benzersiz veri listeleme

Katılım
3 Nisan 2014
Mesajlar
395
Excel Vers. ve Dili
Excel 2019 - Türkçe
Merhaba,

Userform'a eklediğim bir combobx'ta benzersiz bir listenin gelmesi için aşağıdaki kodu buldum internetten. Fakat ben verileri GEÇMİŞ adında farklı bir sayfadan çekiyorum,
o sayfaya gitmeden nasıl getirtebilirim?

Yani Userform Talep girişi sayfasında olacak, verileri Geçmiş adlı sayfadan gelecek.

Kod:
Private Sub UserForm_Initialize()
For x = 2 To Sheets("Talep Geçmişi").Cells(65536, 1).End(xlUp).Row
If WorksheetFunction.CountIf(Range("a2:a" & x), Cells(x, 1)) = 1 Then
ComboBox1.AddItem Cells(x, 1).Value
End If
Next
End Sub
 
Buyurun.:cool:
Kod:
Private Sub UserForm_Initialize()
Dim sh As Worksheet
Set sh = Sheets("Talep Geçmişi")
For x = 2 To sh.Cells(65536, 1).End(xlUp).Row
If WorksheetFunction.CountIf(sh.Range("a2:a" & x), sh.Cells(x, 1)) = 1 Then
ComboBox1.AddItem sh.Cells(x, 1).Value
End If
Next
End Sub
 
Sayın hocam 2 nolu mesajınızdaki kod işime yaradı çok güzel ancak bunu alfabetik ve benzersiz olabilir mi? Teşekkürler.
 
Deneyiniz.

Kullandığım nesnenin hata vermemesi için sisteminizde .NET Frame 3.5 sürümünün yüklü olması gerekiyor. Daha üst versiyonların olması sorunu çözmüyor.

Bu sürüm eğer sizde yoksa linkten indirip kurabilirsiniz.



C++:
Option Explicit

Private Sub UserForm_Initialize()
    Dim S1 As Worksheet, Son As Long, Veri As Variant, X As Long
    
    Set S1 = Sheets("Sayfa1")
    Son = S1.Cells(S1.Rows.Count, "A").End(xlUp).Row
    
    With VBA.CreateObject("System.Collections.ArrayList")
        Veri = S1.Range("A2:A" & Son).Value
        
        For X = LBound(Veri, 1) To UBound(Veri, 1)
            If Veri(X, 1) <> "" Then
                If Not .Contains(Veri(X, 1)) Then .Add Veri(X, 1)
            End If
        Next
        If .Count > 0 Then
            .Sort
            ComboBox1.List = .ToArray
        End If
    End With

    Set S1 = Nothing
End Sub
 
Sayın Hocam ben bunu H sütunu için yaptım ve HARCAMA sayfası için doğrumu acaba;
Dim S1 As Worksheet, Son As Long, Veri As Variant, X As Long

Set S1 = Sheets("HARCAMA")
Son = S1.Cells(S1.Rows.Count, "A").End(xlUp).Row

With VBA.CreateObject("System.Collections.ArrayList")
Veri = S1.Range("H2:H" & Son).Value

For X = LBound(Veri, 8) To UBound(Veri, 8)
If Veri(X, 8) <> "" Then
If Not .Contains(Veri(X, 8)) Then .Add Veri(X, 8)
End If
Next
If .Count > 0 Then
.Sort
ComboBox4.List = .ToArray
End If
End With

Set S1 = Nothing

o değiniz linkten NET Frame 3.5 sürümünüde kurdum
 
Veri, 8 yazan yerleri Veri, 1 olarak düzeltiniz.

Ayrıca son satırı tespit eden bölümde "A" yazan kısmı "H" olarak değiştirebilirsiniz.
 
Teşekkür ederim sayın hocam hayırlı sahurlar. allaha emanet olun.
 
Geri
Üst