[ÇÖZÜLDÜ] Mükerrer kayıtları comboboxa sıralı olarak aktarma hk

Katılım
25 Ağustos 2004
Mesajlar
131
Excel Vers. ve Dili
Ev -> Office 2016 Tükçe
İş -> Office 2016 Tükçe
Altın Üyelik Bitiş Tarihi
04/01/2022
Herkese iyi çalışmalar dilerim
Öğrenmek istediğim combo boxa item eklerken karışık değerleri sıralı olrak eklemek ama hücrelere müdahale etmemek ekteki örneğimde daha iyi açıkladığımı tamin ediyorum herkese şimdiden teşekkür ederim
 
Katılım
5 Kasım 2007
Mesajlar
444
Excel Vers. ve Dili
2003 TR
Sn. Fenomen dosyanız ektedir. Kolay gelsin.
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız ekte.:cool:
 
Katılım
25 Ağustos 2004
Mesajlar
131
Excel Vers. ve Dili
Ev -> Office 2016 Tükçe
İş -> Office 2016 Tükçe
Altın Üyelik Bitiş Tarihi
04/01/2022
Sn melsan
Tam istadiğim gibi olmuş çok teşekkür ederim sizden bir ricam olacak yaptığınız makronun içinde ne neişe yarıyr kısa açıklarsanız sevinirim

Sn. Evren bey
sizin örneğinizde 2. ve 3. combo boxlarda mükerrer kayıtlar var onlar olmasa tam istediğim gibi olacak sizde mükerrer kayıt yapmamasını sağlayıp kısca makroyu açıklayabilirseniz hem benim hem de diğer arkadaşların işine daha çok yarayacağı inancındayım

her ikinizin de emeğine sağlık teşekkür ederim
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
sn Evren Gizlen vbmenu_register("postmenu_313012", true); aşağıdaki fonksiyonu 0 dan Z ye türkçe karakterlere uyumlu olarak revize edebilirseniz çok makbule geçecek.

Kod:
Private Function Sirala(Liste As Variant)
Dim i As Integer, j As Integer, x As Variant
    For i = LBound(Liste) To UBound(Liste) - 1
        For j = i + 1 To UBound(Liste)
            If Liste(i, 0) > Liste(j, 0) Then
'            If StrComp(Liste(i, 0), Liste(j, 0), vbTextCompare) = 1 Then
                x = Liste(j, 0)
                Liste(j, 0) = Liste(i, 0)
                Liste(i, 0) = x
            End If
        Next j
    Next i
    Sirala = Liste
End Function
hayret bir şey sormadan evvel denedim çalışmadı şimdi çalıştı hayret bir olay

Kod:
Private Function Sirala(Liste As Variant)
Dim i As Integer, j As Integer, x As Variant
    For i = LBound(Liste) To UBound(Liste) - 1
        For j = i + 1 To UBound(Liste)
[COLOR=red]'            If Liste(i, 0) > Liste(j, 0) Then[/COLOR]
            [COLOR=green]If StrComp(Liste(i, 0), Liste(j, 0), vbTextCompare) = 1 Then[/COLOR]
                x = Liste(j, 0)
                Liste(j, 0) = Liste(i, 0)
                Liste(i, 0) = x
            End If
        Next j
    Next i
    Sirala = Liste
End Function
kırmızı ve yeşil satır arasındaki Türkçe sıralmayı dikkate almamaktan başka fark varmıdır?
kırmızı satır kullanıldığında (0,...,9,ABCDEFGHIJ........ZÇİ...
yeşil satır kullanıldığında (0,...,9,ABCÇDEFGHIİJ........Z)
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
sn Evren Gizlen vbmenu_register("postmenu_313012", true); aşağıdaki fonksiyonu 0 dan Z ye türkçe karakterlere uyumlu olarak revize edebilirseniz çok makbule geçecek.

Kod:
Private Function Sirala(Liste As Variant)
Dim i As Integer, j As Integer, x As Variant
    For i = LBound(Liste) To UBound(Liste) - 1
        For j = i + 1 To UBound(Liste)
            If Liste(i, 0) > Liste(j, 0) Then
'            If StrComp(Liste(i, 0), Liste(j, 0), vbTextCompare) = 1 Then
                x = Liste(j, 0)
                Liste(j, 0) = Liste(i, 0)
                Liste(i, 0) = x
            End If
        Next j
    Next i
    Sirala = Liste
End Function
hayret bir şey sormadan evvel denedim çalışmadı şimdi çalıştı hayret bir olay

Kod:
Private Function Sirala(Liste As Variant)
Dim i As Integer, j As Integer, x As Variant
    For i = LBound(Liste) To UBound(Liste) - 1
        For j = i + 1 To UBound(Liste)
[COLOR=red]'            If Liste(i, 0) > Liste(j, 0) Then[/COLOR]
            [COLOR=green]If StrComp(Liste(i, 0), Liste(j, 0), vbTextCompare) = 1 Then[/COLOR]
                x = Liste(j, 0)
                Liste(j, 0) = Liste(i, 0)
                Liste(i, 0) = x
            End If
        Next j
    Next i
    Sirala = Liste
End Function
kırmızı ve yeşil satır arasındaki Türkçe sıralmayı dikkate almamaktan başka fark varmıdır?
kırmızı satır kullanıldığında (0,...,9,ABCDEFGHIJ........ZÇİ...
yeşil satır kullanıldığında (0,...,9,ABCÇDEFGHIİJ........Z)
Kırmızı satır sayısal değerler için.
Yeşil satır string değerler için artan sıralama yapar.:cool:
 
Üst