Combobox'a Sıralı veri alma

Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Arkadaşlar. Sabah 9 dan beri forumda aradım. Birçok örnek var. Buldum. Ancak bir örnek dosya ekli. İndirip baktım. Ama sadece bakmakla yetindim. Bir çıkar yol bulamadım.

Bir userform var.
Combobox ve Textboxlar var.

Bilgiler Sayfa1 de:
Bu verilere aşağıya doğru yeni eklemeler yapılmakta.

A sütununda Sıra No var
B Sütununda Adı Soyadı
C Sütununda Memleketi
D Sütununda Telefonu

userformda Combobox'a veriler
Sayfa1'de B Sütununda yazılı bulunan veriler Alfabetik Sıra İle alınacak.
Seçtiğim Personele ait Bilgiler ise UserForm'daki Textboxlara gelmesi gerekli.
( burdanda sayfa2 deki ilgili yere aktarıp yazıcıdan çıktı alacağım.)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Dosyanız ektedir;

(Türkçe karakterde beklediğiniz performansı göremeyebilirsiniz)


.
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Elinize Sağlık. Evet Dediğiniz gibi "Ç" en sona atmış.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Bir ara da ekteki dosyaya bakarsınız ... (Türkçe karakter problemi çözülmüş hali)



.
 
S

Skorpiyon

Misafir
Sayın DeliBalta58,

Alternatif bir örnekte benden.

Yapılan İşlem; Form her aktif olduğunda, Combobox'a aldırılacak değerler (yani isimler) Sayfa1'den Sayfa3'e kopyalattırılıyor, sıralama yaptırılıyor ve ondan sonra Combobox'a değerleri aldırılıyor. (Bu yüzden Türkçe font problemi olmuyor)
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayfaya Combobox eklediğimde süz yöntemi hata verdi. Sayfaya eklediğimizde nasıl olmalı acaba
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Değerli uzmanım. İşi Kavrayabilmek ve mantığını çözebilmek için biraz yardıma ihtiyacım var.
Anladığım Kadarı ile;
Sayfa Aktif Olduğunda "listele" isimli makro veya fonksiyon çalıştırılacak
Kod:
Private Sub Worksheet_Activate()
Call listele
End Sub
Kod:
Private Function Sirala(Liste As Variant)
Dim i As Integer, j As Integer, x As Variant, y As Variant, z As Variant
    For i = LBound(Liste) To UBound(Liste) - 1
        For j = i + 1 To UBound(Liste)
            If StrComp(Liste(i, 0), Liste(j, 0), vbTextCompare) = 1 Then
                x = Liste(j, 0)
                y = Liste(j, 1)
                z = Liste(j, 2)
                Liste(j, 0) = Liste(i, 0)
                Liste(j, 1) = Liste(i, 1)
                Liste(j, 2) = Liste(i, 2)
                Liste(i, 0) = x
                Liste(i, 1) = y
                Liste(i, 2) = z
            End If
        Next j
    Next i
    Sirala = Liste
End Function
Kod:
Dim i As Integer, j As Integer, x As Variant, y As Variant, z As Variant
Integer= Tamsayı
Variant=Değişiklik gösteren ,herhangi tipte veri yüklenebilir.
bundan sonrası için sizden bir açıklama alabilirmiyiz acaba.
Çünkü neredeyse her program da Combobox kullanıyorum ve her defasında nereyi değiştirsem nasıl yapsam diye çabalıyorum. Eğer öğrenirsem hem ben çabalamam hemde burdaki benim gibi arkadaşlara faydalı olur diye düşünüyorum.
Teşekkürler.
 

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
Aşağıdaki satırda integer olarak girilen tanımlamayı Long olarak değiştiriniz.:cool:
Kod:
Dim i As Integer, j As Integer, x As Variant, y As Variant, z As Variant
 
Katılım
19 Nisan 2007
Mesajlar
337
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın uzmanım. Kod'un ne anlama geldiği ve ne işlev gördüğü husunda açıklama yaparmısınız demiştim.
 
Üst