• DİKKAT

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

Aynı ID numarasına sahip olan satıları okumak ve textbox'lara yazdırmak

Katılım
6 Temmuz 2015
Mesajlar
23
Excel Vers. ve Dili
2010 TR
Merhabalar,

Diyelim ki A sütününda bir listenin ID numaraları var ve B, C ve E sütünlarında da o ID'ye ait bilgiler.
Sorum - aradığım ID'yi textbox'a yazdırmak ve o satırda bulunan B,C ve E sütünunda ki bilgileri okutmak ve o seriye ait olan textbox'lara yazdırmak. Aynı ID'den fazla var ise onları da başka textbox serisine yazdırmak.

Yardımlarınız için şimdiden teşekkürler.
 
Kullandığınız(veya kullanacağınız) TextBox'lar, excel sayfasında mı, aynı sayfadan mı yoksa başka sayfadan mı bilgi alacak, yoksa bir UserForm üzerinde mi gibi ve benzer sorulara da cevap olabilecek şekilde;isteğinizi örnek bir excel sayfasında tanımlarsanız ve foruma eklerseniz daha kolay cevap alabilirsiniz.
 
Merhaba,

İlginizden dolayı çok teşekkür ederim.
Eklediğim dosyada UserFormu çalıştırdıktan sonra, formun üzerine yerleştirmiş olduğum Multipage objesi var. Multipage 4 sayfa oluşturdum ve sayfalar üzerinde textboxlar var. Excel sayfasında ki tablodan ID numarasına göre bu texboxları doldurmak istiyorum. Örneğin ID: 2'den 4 tane var, bunların bigilerini sırası ile Page1, Page2, Page3 ve Page4'de yazdırmak istiyoru.
ID: 4'ten sadece 1 tane var - onun bilgilerini ise sadece Page1'e yazsın.
 

Ekli dosyalar

Kod:
Private Sub CommandButton1_Click()

    lst = Range("A2:I" & Cells(Rows.Count, "A").End(3).Row).Value
    
    If TextBox1.Text <> "" Then
        ID = TextBox1.Text
    Else
        MsgBox "Lütfen ID numarasını TextBox1'e giriniz.", vbCritical
    End If
    
    For i = 2 To 24
        Me.Controls("Textbox" & i).Text = ""
    Next i

    sira = 0
    For i = LBound(lst) To UBound(lst)
        If Val(lst(i, 1)) = Val(ID) Then
            Me.Controls("Textbox" & sira + 1).Text = lst(i, 1)
            Me.Controls("Textbox" & sira + 2).Text = lst(i, 2)
            Me.Controls("Textbox" & sira + 3).Text = lst(i, 4)
            Me.Controls("Textbox" & sira + 4).Text = lst(i, 5)
            Me.Controls("Textbox" & sira + 5).Text = lst(i, 6)
            Me.Controls("Textbox" & sira + 6).Text = lst(i, 7)
            sira = sira + 6
            If sira > 18 Then Exit Sub
        End If
    Next i

End Sub
 
Çok teşekkür ederim veyselemre bey - çalıştırdım ve sanırım uygulayabileceğim.
Okuduktan sonra herhangi bir textboxta değişiklik yapıp tekrar aynı yerlere kaydetme örneğini de varebilirseniz çalışmamın birsonraki aşamasına da çok kolay geçip tamamlayabilirim.

Tekrar çok teşekkürler.
 
buna benzer ikinci bir excel sayfası daha var her iki sayfada ortak id olanları alabilir miyiz
 
Tekrar merhaba,

Veyselemre Bey, vermiş olduğunuz kod mükkemel çalışıyor fakat uygulamada başarısız oldum çünkü vermiş olduğunuz örnekte değerleri ardarda bulunan texbox'lara yazıyor.
Benim uygulamak istediğim yazdırılacak olan texbox'ları cod içerisinde kandim belirlemek.

Örnegin ilk ID'yi TextBox2,TextBox4,TextBox5,TextBox6,TextBox7 ve TextBox8'ze yazmak
Eğer ID birden fazla ise ozaman ikinci satırı TextBox11,TextBox13,TextBox14,TextBox15,TextBox16 ve TextBox17'ye yazmak.

Yaardımlarınız için şimdiden teşekkürler.
 
Denenmemiştir...
Kod:
    sira = 1
    For i = LBound(lst) To UBound(lst)
        If Val(lst(i, 1)) = Val(ID) Then
            Me.Controls(""Textbox"" & sira + 1).Text = lst(i, 1)
            Me.Controls(""Textbox"" & sira + 3).Text = lst(i, 2)
            Me.Controls(""Textbox"" & sira + 4).Text = lst(i, 4)
            Me.Controls(""Textbox"" & sira + 5).Text = lst(i, 5)
            Me.Controls(""Textbox"" & sira + 6).Text = lst(i, 6)
            Me.Controls(""Textbox"" & sira + 7).Text = lst(i, 7)
            sira = sira + 9
            If sira > 28 Then Exit Sub
        End If
    Next i
 
Geri
Üst