ListBox dan TextBox a Çoklu Veri Aktarımı

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
Değerli Arkadaşlar;

Ekli dosyadaki Listboxdan double click yaptığımda her kilkte ayrı ayrı ürünleri sol tarafta bulunan textboxlara alt alta sırayla eklenmesini istiyorum. pek tabi ki aynı ürün varsa bir uyarı ile aynı ürünü kabul etmemesi de gerekiyor. ben bir deneme yaptım fakat ilk ikisi çalışıyor fakat 3. ürünü seçtiğimde tekrar 2 satıra yazıyor.

yardımlarınızı rica ediyorum.

Sevgiler
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,506
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bu tür çalışmalarınızda kullanacağınız nesneleri ardışık oluşturursanız kodlamada o kadar kolaylaşacaktır. Sizin olluşturduğunuz yapıdaki nesneleri kontrol etmek için tek tek kod yazmak gerekiyor. Bu bir süre sonra size sıkıntı verecektir.

Aşağıdaki kodu denermisiniz.

Kod:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Worksheets(1).Select
    Bulunan_Satir_No = ListBox1.Column(3)
    If TextBox4.Value = "" Then
    TextBox4.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox6.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox1.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox1.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox21.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox25.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox25.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox24.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox28.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox28.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox27.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox30.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Or _
    TextBox28 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox30.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox33.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox31.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Or _
    TextBox28 = ListBox1.Column(2) Or _
    TextBox30 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox31.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox32.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox37.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Or _
    TextBox28 = ListBox1.Column(2) Or _
    TextBox30 = ListBox1.Column(2) Or _
    TextBox31 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox37.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox36.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox40.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Or _
    TextBox28 = ListBox1.Column(2) Or _
    TextBox30 = ListBox1.Column(2) Or _
    TextBox31 = ListBox1.Column(2) Or _
    TextBox37 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox40.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox39.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox43.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Or _
    TextBox28 = ListBox1.Column(2) Or _
    TextBox30 = ListBox1.Column(2) Or _
    TextBox31 = ListBox1.Column(2) Or _
    TextBox37 = ListBox1.Column(2) Or _
    TextBox40 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox43.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox42.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox46.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Or _
    TextBox28 = ListBox1.Column(2) Or _
    TextBox30 = ListBox1.Column(2) Or _
    TextBox31 = ListBox1.Column(2) Or _
    TextBox37 = ListBox1.Column(2) Or _
    TextBox40 = ListBox1.Column(2) Or _
    TextBox43 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox46.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox45.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox50.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Or _
    TextBox28 = ListBox1.Column(2) Or _
    TextBox30 = ListBox1.Column(2) Or _
    TextBox31 = ListBox1.Column(2) Or _
    TextBox37 = ListBox1.Column(2) Or _
    TextBox40 = ListBox1.Column(2) Or _
    TextBox43 = ListBox1.Column(2) Or _
    TextBox46 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox50.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox49.Text = Range("D" & Bulunan_Satir_No).Value
    
    ElseIf TextBox52.Value = "" Then
    If TextBox4 = ListBox1.Column(2) Or _
    TextBox1 = ListBox1.Column(2) Or _
    TextBox25 = ListBox1.Column(2) Or _
    TextBox28 = ListBox1.Column(2) Or _
    TextBox30 = ListBox1.Column(2) Or _
    TextBox31 = ListBox1.Column(2) Or _
    TextBox37 = ListBox1.Column(2) Or _
    TextBox40 = ListBox1.Column(2) Or _
    TextBox43 = ListBox1.Column(2) Or _
    TextBox46 = ListBox1.Column(2) Or _
    TextBox50 = ListBox1.Column(2) Then
    MsgBox "Mükerrer kayıt !", vbCritical
    Exit Sub: End If
    TextBox52.Text = Range("C" & Bulunan_Satir_No).Value
    TextBox48.Text = Range("D" & Bulunan_Satir_No).Value
    Else
    MsgBox "Tüm satırlar doldu. Seçim yapamazsınız.", vbCritical
    End If
End Sub
 

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
Sn korhan AYHAN bey;

öncelikle teşekkür ederim...Ben textbox ları ardışık hale getirdim.

Ürün adının geldiği boxları 100 den 111 e kadar. adedin geldiklerini 200 den 211 e kadar düzelttim.

bu şekilde yardımcı olursanız seviniirm.

Sevgiler
 
Katılım
27 Temmuz 2004
Mesajlar
719
Excel Vers. ve Dili
Excel 2003 Tr
Son değişikliklerinizle birlikte aşağıdaki kodlar işinizi görecektir.
Kod:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Worksheets(1).Select
    Bulunan_Satir_No = ListBox1.Column(3)
    For i = 0 To 11
    If Controls("Textbox" & 100 + i).Value = Range("C" & Bulunan_Satir_No).Value Then Exit Sub
    
    If Controls("Textbox" & 100 + i).Value = "" Then
        Controls("Textbox" & 100 + i).Value = Range("C" & Bulunan_Satir_No).Value
        Controls("Textbox" & 200 + i).Value = Range("D" & Bulunan_Satir_No).Value
    Exit Sub
    End If
    Next
End Sub
 

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
ayrıca daha kısa bir şekilde çözebilirmiyim?
 

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
çok teşekkkür ediyorum ....çözüldü çok sağolun...
ama üstteki çözümlemede yaptığınız mükerrer giriş engellenemiyor bu defa...
 

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
burada yazılanlar siliniyor mu?
 
Katılım
27 Temmuz 2004
Mesajlar
719
Excel Vers. ve Dili
Excel 2003 Tr
çok teşekkkür ediyorum ....çözüldü çok sağolun...
ama üstteki çözümlemede yaptığınız mükerrer giriş engellenemiyor bu defa...
Benim yazdığım kodlar mı mükerrer girişi engellemiyor?

(Ayrıca yazdığınız mesajları düzenleme şansınız var.)
 

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
Mükerrer girişi nasıl engelleyebilirim acaba?
 
Katılım
27 Temmuz 2004
Mesajlar
719
Excel Vers. ve Dili
Excel 2003 Tr
Ekteki dosyayı inceler misiniz? Daha önce girilmiş bir değeri tekrar girmiyor.
 

Ekli dosyalar

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
Dostlar;

Ekli Dosyada bir ufak sorunum daha var? yardımcı olursanız sevinirim.

şimdi ben dosyada giriş kaydet butonuna bastığımda istediğim şu;

- Toplamda 12 adet ürün seçebiliyorum. seçtiğim ürünlerin sırası ile sayfa2 ye aktarılmasını istiyorum.
- yazdığım kodda ilk ürünü aktarıyor. ancak diğer ürünleri aktarmıyor. burada en önemli husus: ürünleri aktarırken sol üstte yazmış olduğum depo adı, müşteri, sevkiyatçı vs.. gibi bilgilerin her satıra yazılması gerekiyor.

Sevgilerimle
 

Ekli dosyalar

Katılım
27 Temmuz 2004
Mesajlar
719
Excel Vers. ve Dili
Excel 2003 Tr
Kodların ilgili kısmını değiştirip dener misiniz?
Private Sub BtnGiris_Click()
Sheets("Sayfa2").Select
ActiveSheet.Unprotect (5105687)
If Range("A2").Value = "" Then
Range("A2").Value = 1
satır = 2
Else
satır = [A65536].End(xlUp).Row + 1
End If

For i = 0 To 11
If Controls("Textbox" & 100 + i).Value <> "" Then
Cells(satır + i, 1).Value = satır + i - 1
Cells(satır + i, 2).Value = CbSube
Cells(satır + i, 3).Value = "Giriş"
Cells(satır + i, 4).Value = TxtIslemTarihi
Cells(satır + i, 5).Value = TxtEvrakNo
Cells(satır + i, 6).Value = TxtKime
Cells(satır + i, 7).Value = Controls("Textbox" & 100 + i).Value
Cells(satır + i, 8).Value = Val(Controls("Textbox" & 500 + i)) * 1
Cells(satır + i, 9).Value = CbDepo
Cells(satır + i, 10).Value = CbSevkiyatci
Cells(satır + i, 11).Value = TxtAciklama
Cells(satır + i, 12).Value = CbAciklama
End If
Next

End Sub
 

ik

Katılım
1 Ekim 2005
Mesajlar
53
Altın Üyelik Bitiş Tarihi
25.04.2022
yine takıldım...

ekteki çalışma kitabında girşleri çıkışları ve rezervasyonlaru userform da kaydedip veri ve özet sayfasına aktarabiliyorum...

yapmak istediğim userformda evrak no numaralarına göre kaydettiğim işlemlerin evrak no kısmına numarasını yazdığım zaman yeniden userform a geri gelmesi...

veri sayfasında örnek kayıtlarım var ve geri getiremedim evrak no: kısmına kaydettiğim numaraları yazarak...

şimdiden teşekkürler...
 

Ekli dosyalar

Üst