walabi
Altın Üye
- Katılım
- 22 Eylül 2012
- Mesajlar
- 627
- Excel Vers. ve Dili
-
excel 2010
excel 2013
- Altın Üyelik Bitiş Tarihi
- 06-08-2025
Merhaba , iyi günler,
Aşağıdaki kodu nasıl uyarlayabilirim, nelerin değişmesi gerekiyor. İlk kod excel sayfa1 e yazılmış. Ben bunu userform üzerindeki textbox2 ye uyarlamak istiyorum . Nasıl yapabilirim. Yanlış değilsem, ilgili kodda veri girişi yeri olarak hücre aralıkları var. ben sadece bir textbox üzerine uyarlamak istiyorum. sayfadaki change değilde textbox daki change durumunda kod nasıl olmalıdır.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not UserForm5.ListBox1.Tag = "off" Then
If Intersect(Target, Range("b5:b20")) Is Nothing Then Exit Sub
Dim deger As Range
sayac = 0
derlenen = Target.Address
bakilan = UCase(Replace(Replace(Target.Value, "i", "İ"), "ı", "I"))
For Each deger In Sheets("Cari").Range("B2:B85")
If Not IsEmpty(deger.Value) And Left(deger.Value, Len(bakilan)) = bakilan Then
sayac = sayac + 1
sonuc = deger.Value
If sayac = 1 Then
UserForm5.ListBox1.Clear
End If
UserForm5.ListBox1.AddItem deger.Value
End If
Next
If sayac > 1 Then
UserForm5.Tag = derlenen
UserForm5.Caption = "Birden Cok Uygun Kayit Var, Lutfen Birini Seciniz"
UserForm5.ListBox1.Tag = "off"
UserForm5.Show
UserForm5.ListBox1.Tag = ""
ElseIf sayac = 1 Then
UserForm5.ListBox1.Tag = "off"
Range(derlenen) = sonuc
Else
UserForm5.ListBox1.Tag = "off"
bakilan = ""
sayac = 0
For Each deger In Sheets("Cari").Range("B2:B85")
If Not IsEmpty(deger.Value) And Left(deger.Value, Len(bakilan)) = bakilan Then
sayac = sayac + 1
sonuc = deger.Value
If sayac = 1 Then
UserForm5.ListBox1.Clear
End If
UserForm5.ListBox1.AddItem deger.Value
End If
Next
UserForm5.Tag = derlenen
UserForm5.Caption = "Uygun Kayit Bulunamadi, Lutfen Listeden Birini Seciniz"
Range(derlenen) = ""
UserForm5.Show
End If
Else
UserForm5.ListBox1.Tag = ""
End If
End Sub
Aşağıdaki kodu nasıl uyarlayabilirim, nelerin değişmesi gerekiyor. İlk kod excel sayfa1 e yazılmış. Ben bunu userform üzerindeki textbox2 ye uyarlamak istiyorum . Nasıl yapabilirim. Yanlış değilsem, ilgili kodda veri girişi yeri olarak hücre aralıkları var. ben sadece bir textbox üzerine uyarlamak istiyorum. sayfadaki change değilde textbox daki change durumunda kod nasıl olmalıdır.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not UserForm5.ListBox1.Tag = "off" Then
If Intersect(Target, Range("b5:b20")) Is Nothing Then Exit Sub
Dim deger As Range
sayac = 0
derlenen = Target.Address
bakilan = UCase(Replace(Replace(Target.Value, "i", "İ"), "ı", "I"))
For Each deger In Sheets("Cari").Range("B2:B85")
If Not IsEmpty(deger.Value) And Left(deger.Value, Len(bakilan)) = bakilan Then
sayac = sayac + 1
sonuc = deger.Value
If sayac = 1 Then
UserForm5.ListBox1.Clear
End If
UserForm5.ListBox1.AddItem deger.Value
End If
Next
If sayac > 1 Then
UserForm5.Tag = derlenen
UserForm5.Caption = "Birden Cok Uygun Kayit Var, Lutfen Birini Seciniz"
UserForm5.ListBox1.Tag = "off"
UserForm5.Show
UserForm5.ListBox1.Tag = ""
ElseIf sayac = 1 Then
UserForm5.ListBox1.Tag = "off"
Range(derlenen) = sonuc
Else
UserForm5.ListBox1.Tag = "off"
bakilan = ""
sayac = 0
For Each deger In Sheets("Cari").Range("B2:B85")
If Not IsEmpty(deger.Value) And Left(deger.Value, Len(bakilan)) = bakilan Then
sayac = sayac + 1
sonuc = deger.Value
If sayac = 1 Then
UserForm5.ListBox1.Clear
End If
UserForm5.ListBox1.AddItem deger.Value
End If
Next
UserForm5.Tag = derlenen
UserForm5.Caption = "Uygun Kayit Bulunamadi, Lutfen Listeden Birini Seciniz"
Range(derlenen) = ""
UserForm5.Show
End If
Else
UserForm5.ListBox1.Tag = ""
End If
End Sub