Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 19-01-2018, 10:32   #1
ozbinici07
Altın Üye
 
Giriş: 08/12/2017
Şehir: antalya
Mesaj: 48
Exclamation ListBox Listeleme Sorunu

Merhaba Arkadaşlar
Aşağıda Örnek Olarak Atmış Olduğum VBA'da ComboBox1 e Yazdığımda Otomatik Arama Yapıyor Aynı İsimden Birden Fazla Kişi Varsa ListBox Açılarak Aynı İsimdeki Kişiler Karşıma Çıkıyor.

Sorunum İse Aynı İsimler Karşıma Çıkarken Yanında'da Soyadı Bilgilerininde Yer Alması Bana Yardımcı Olursanız Sevinirim.

Örnek.xlsm
ozbinici07 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 10:45   #2
Mustafa MUTLU
Destek Ekibi
 
Mustafa MUTLU kullanıcısının avatarı
 
Giriş: 24/07/2008
Şehir: Kayseri
Mesaj: 1,524
Excel Vers. ve Dili:
2003
Varsayılan

Liste formunuzdaki kodu aşağıdaki gibi yapın

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub UserForm_Activate()
ListBox1.ColumnCount = 3
ListBox1.List = Range("A1:C1").Value
ListBox1.ColumnWidths = "0;100;100"
End Sub
__________________

EXCEL 2003
EXCEL 2007
Mustafa MUTLU Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 11:51   #3
ozbinici07
Altın Üye
 
Giriş: 08/12/2017
Şehir: antalya
Mesaj: 48
Varsayılan

Mustafa Bey Vermiş Olduğunuz Kod İşe Yaramadı


Alıntı:
Mustafa MUTLU tarafından gönderildi Mesajı Görüntüle
Liste formunuzdaki kodu aşağıdaki gibi yapın

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub UserForm_Activate()
ListBox1.ColumnCount = 3
ListBox1.List = Range("A1:C1").Value
ListBox1.ColumnWidths = "0;100;100"
End Sub
ozbinici07 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 12:19   #4
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: K.Maraş
Mesaj: 2,115
Excel Vers. ve Dili:
2010-2016
Varsayılan

Diziyi aşağıdaki şekilde değiştirin
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub arabul()
    If ComboBox1 = "" Then Exit Sub
    say = WorksheetFunction.CountIf(Sheets("DATA").Range("B:B"), ComboBox1)
    If say > 1 Then
        MsgBox "Birden fazla eşleşen kayıt bulundu!" & Chr(10) & "Listeden seçim yapabilirsiniz.", vbExclamation
        son = Sheets("DATA").Cells(Rows.Count, 1).End(3).Row
        ReDim dizi(1 To 2, 1 To 1)
        For Each veri In Sheets("DATA").Range("B4:B" & son)
            If CStr(veri.Value) = ComboBox1 Then
                X = X + 1
                ReDim Preserve dizi(1 To 2, 1 To X)
                dizi(2, X) = veri.Offset(0, 1).Value
                dizi(1, X) = veri.Value
            End If
        Next
        Call form
    Else
        Set bul = Sheets("DATA").Range("B:B").Find(ComboBox1, lookat:=xlWhole)
        If Not bul Is Nothing Then
            yontem = "degistir"
            TextBox2 = Cells(bul.Row, "c")
            TextBox3 = Cells(bul.Row, "d")
            TextBox4 = Cells(bul.Row, "e")
            TextBox5 = Cells(bul.Row, "f")

        End If
    End If
End Sub
Activate kodlarını da aşağıdaki şekilde değiştirin.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub UserForm_Activate()
ListBox1.ColumnCount = 2
ListBox1.List = Range("A1:C1").Value
ListBox1.ColumnWidths = "100;100"
ListBox1.Column = dizi
End Sub
__________________
excel 2010- türkçe
askm Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 12:28   #5
ozbinici07
Altın Üye
 
Giriş: 08/12/2017
Şehir: antalya
Mesaj: 48
Cool

@askm çok teşekkür ederim şimdi gösteriyor fakat üstüne tıkladığımda text lere yansıtmıyor(aktarmıyor)



Alıntı:
askm tarafından gönderildi Mesajı Görüntüle
Diziyi aşağıdaki şekilde değiştirin
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub arabul()
    If ComboBox1 = "" Then Exit Sub
    say = WorksheetFunction.CountIf(Sheets("DATA").Range("B:B"), ComboBox1)
    If say > 1 Then
        MsgBox "Birden fazla eşleşen kayıt bulundu!" & Chr(10) & "Listeden seçim yapabilirsiniz.", vbExclamation
        son = Sheets("DATA").Cells(Rows.Count, 1).End(3).Row
        ReDim dizi(1 To 2, 1 To 1)
        For Each veri In Sheets("DATA").Range("B4:B" & son)
            If CStr(veri.Value) = ComboBox1 Then
                X = X + 1
                ReDim Preserve dizi(1 To 2, 1 To X)
                dizi(2, X) = veri.Offset(0, 1).Value
                dizi(1, X) = veri.Value
            End If
        Next
        Call form
    Else
        Set bul = Sheets("DATA").Range("B:B").Find(ComboBox1, lookat:=xlWhole)
        If Not bul Is Nothing Then
            yontem = "degistir"
            TextBox2 = Cells(bul.Row, "c")
            TextBox3 = Cells(bul.Row, "d")
            TextBox4 = Cells(bul.Row, "e")
            TextBox5 = Cells(bul.Row, "f")

        End If
    End If
End Sub
Activate kodlarını da aşağıdaki şekilde değiştirin.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub UserForm_Activate()
ListBox1.ColumnCount = 2
ListBox1.List = Range("A1:C1").Value
ListBox1.ColumnWidths = "100;100"
ListBox1.Column = dizi
End Sub
ozbinici07 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 13:18   #6
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: K.Maraş
Mesaj: 2,115
Excel Vers. ve Dili:
2010-2016
Varsayılan

Dizi kısmını aşağıdaki şekilde değiştirin o zaman
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub arabul()
    If ComboBox1 = "" Then Exit Sub
    say = WorksheetFunction.CountIf(Sheets("DATA").Range("B:B"), ComboBox1)
    If say > 1 Then
        MsgBox "Birden fazla eşleşen kayıt bulundu!" & Chr(10) & "Listeden seçim yapabilirsiniz.", vbExclamation
        son = Sheets("DATA").Cells(Rows.Count, 1).End(3).Row
        ReDim dizi(1 To 3, 1 To 1)
        For Each veri In Sheets("DATA").Range("B4:B" & son)
            If CStr(veri.Value) = ComboBox1 Then
                X = X + 1
                ReDim Preserve dizi(1 To 3, 1 To X)
                dizi(3, X) = veri.Offset(0, 1).Value
                dizi(2, X) = veri.Value
                dizi(1, X) = veri.Offset(0, -1).Value
            End If
        Next
        Call form
    Else
        Set bul = Sheets("DATA").Range("B:B").Find(ComboBox1, lookat:=xlWhole)
        If Not bul Is Nothing Then
            yontem = "degistir"
            TextBox2 = Cells(bul.Row, "c")
            TextBox3 = Cells(bul.Row, "d")
            TextBox4 = Cells(bul.Row, "e")
            TextBox5 = Cells(bul.Row, "f")

        End If
    End If
End Sub
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub UserForm_Activate()
ListBox1.ColumnCount = 3
ListBox1.List = Range("A1:C1").Value
ListBox1.ColumnWidths = "0;100;100"
ListBox1.Column = dizi
End Sub
__________________
excel 2010- türkçe
askm Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 14:33   #7
ozbinici07
Altın Üye
 
Giriş: 08/12/2017
Şehir: antalya
Mesaj: 48
Varsayılan

Teşekkür Ederim Yardımlarınız İçin Şuan Çalışıyor


Alıntı:
askm tarafından gönderildi Mesajı Görüntüle
Dizi kısmını aşağıdaki şekilde değiştirin o zaman
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub arabul()
    If ComboBox1 = "" Then Exit Sub
    say = WorksheetFunction.CountIf(Sheets("DATA").Range("B:B"), ComboBox1)
    If say > 1 Then
        MsgBox "Birden fazla eşleşen kayıt bulundu!" & Chr(10) & "Listeden seçim yapabilirsiniz.", vbExclamation
        son = Sheets("DATA").Cells(Rows.Count, 1).End(3).Row
        ReDim dizi(1 To 3, 1 To 1)
        For Each veri In Sheets("DATA").Range("B4:B" & son)
            If CStr(veri.Value) = ComboBox1 Then
                X = X + 1
                ReDim Preserve dizi(1 To 3, 1 To X)
                dizi(3, X) = veri.Offset(0, 1).Value
                dizi(2, X) = veri.Value
                dizi(1, X) = veri.Offset(0, -1).Value
            End If
        Next
        Call form
    Else
        Set bul = Sheets("DATA").Range("B:B").Find(ComboBox1, lookat:=xlWhole)
        If Not bul Is Nothing Then
            yontem = "degistir"
            TextBox2 = Cells(bul.Row, "c")
            TextBox3 = Cells(bul.Row, "d")
            TextBox4 = Cells(bul.Row, "e")
            TextBox5 = Cells(bul.Row, "f")

        End If
    End If
End Sub
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
Private Sub UserForm_Activate()
ListBox1.ColumnCount = 3
ListBox1.List = Range("A1:C1").Value
ListBox1.ColumnWidths = "0;100;100"
ListBox1.Column = dizi
End Sub
ozbinici07 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-01-2018, 14:45   #8
askm
Altın Üye
 
Giriş: 04/06/2005
Şehir: K.Maraş
Mesaj: 2,115
Excel Vers. ve Dili:
2010-2016
Varsayılan

Rica ederim. Kolay gelsin.
__________________
excel 2010- türkçe
askm Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 23:03


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Rampa- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Şişli Avukat- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kağıt Bardak- Çorlu Havuz- Çorlu Havuz- Çorlu Perde Yıkama- Okul Danışmanlık- ADR'li taşıma kabı imalatı- Mekanik Tesisat- Çorlu Grafik Tasarım- Çorlu Sondaj- Çorlu Etüt- Futbol Cafe- Beylikdüzü Temizlik- Çorlu Kurs- Çorlu Ders- İzmit Mimar- Hurda Bakır Kablo- Hurda Bakır Kablo- Çorlu Pronet- Çorlu Yönetim- Çorlu Apartman Yönetimi- Çorlu Marangoz- Çorlu Avukat- Çorlu Su Arıtma- Çorlu Kompresör-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden