Y

Soru Vba kodunun anlamı

  • Konuyu başlatan Konuyu başlatan YAMAHATO
  • Başlangıç tarihi Başlangıç tarihi

YAMAHATO

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
' *************** TextBox2 DE FATURA ARAMA ***************
Private Sub TextBox2_Change()
If Len(TextBox2.Text) = 0 Then
ListBox2.Clear
Exit Sub
End If
Dim hucre As Range
Set s1 = Sheets("GİREN ÜRÜN")
son = s1.Cells(Rows.Count, "D").End(3).Row
10:
Adet = 0
ListBox2.Clear
For Each hucre In s1.Range("D2:D" & son)
If hucre <> "" Then
Veri = Split(hucre, Chr(10))
For parca = 0 To UBound(Veri)
If Left(Veri(parca), Len(TextBox2)) = TextBox2.Text Then
Adet = Adet + 1
If Adet > 500 Then
MsgBox "En az " & Adet & " adetten fazla sonuç bulundu." & Chr(10) & _
"Lütfen 500 adetten az sonuç bulununcuya kadar karakter girmeye devam ediniz.!", vbInformation
Exit Sub
End If
ListBox2.AddItem (s1.Cells(hucre.Row, "D").Value)
parca = UBound(Veri)
End If
Next
End If
Next
End Sub

' *************** LıstBox 2 de TIKLAYINCA BİLGİLERİNİ GÖRME**************

Private Sub ListBox2_Change()
If IsNull(ListBox2.Value) = True Then TextBox2.Text = "": Exit Sub '<-------------------

Set s1 = Sheets("GİREN ÜRÜN")
son = s1.Cells(Rows.Count, "D").End(3).Row
sat = WorksheetFunction.Match(ListBox2.Value, s1.Range("D1:D" & son), 0)
TextBox4.Text = s1.Cells(sat, "D")
TextBox3.Text = s1.Cells(sat, "B")
TextBox5.Text = s1.Cells(sat, "A")
TextBox2.Text = s1.Cells(sat, "D")
End Sub



MERHABA

Yukarıda ki kodu daha önce ki bir excel çalışmamdan aldım ve yeni çalışmama uyarladım.
Textbok2'e iki görev atadım
1. görev = Değer girdikçe, girilen değerlerle eşleşen, kayıtlı değerleri listbox2 de gösteriyor.
2. görev= Girilen değer kaydet butonuna basınca excel sayfasında ona tanımladığım hücreye yazılıyor.

ŞİMDİ SORUN ŞU

Textbox2 girdiğim değer kayıtlarda varsa Listbox 2 de gözüküyor, Listbox2'deki değere tıkladığımda yazdığım kod ile
belirlediğim değerleri 2-3-4-5 textboklara atması lazım.

Fakat söyle bir sorun var. Listbox2 değere tıklayınca kod belirlediğim değerleri 3-4-5 atıyor ama Textbox2'e atmıyor.
TEXTBOX 2 de arama için yazdığım kelimeler bile siliniyor. Bomboş kalıyor. Bomboş kaldığı içinde listbox2 bir ton sonuç çıkıyor

Kodu değiştirip textbox2 yazan yeri değiştirip aşağıda ki gibi başka bir textbok numarası yazınca tüm kod çatır çatır çalışıyor.
If IsNull(ListBox2.Value) = True Then TextBox6.Text = "": Exit Sub '<-------------------

ÇOK UZATTIM ÖZÜR DİLERİM, SORUM ŞU.

If IsNull(ListBox2.Value) = True Then TextBox2.Text = "": Exit Sub '<-------------------
Kodun tam olarak ne yapmaya çalışıyor. Bu kodun anlamı ne . ne olursa ne olacak. textbox2 yazınca çalışmayan kod, textbox numarasını değiştirince neden çalışıyor? Bana basitçe anlatabilir misiniz?
 
Üst