TextBox'dan Textbox'a veri aktarma

Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Herkese iyi günler. TextBox'dan ListBox'a veri aktarabiliyorum ama TextBox'dan TextBox'a butona basmadan veri aktaramıyorum.
Örneğin

1 B C D
2 NO SAA Adı Soyadı
3 455 AHMET
4 200 MEHMET
5..
6..

Userform'daki TextBox2 'ye 455 yazdığımda TextBox10'da Ahmet Çıkması lazım
aynı şekilde TextBox10'a Ahmet yazınca TextBox2'de 455 çıkması lazım. Aynı şekilde 200 yazınca mehmet ve mehmet yazınca 200 olacak şekilde diğerlerini yazınca yine karşılıklı birbirlerinin değerlerini vermesi lazım.
Nasıl yapabilirim aceba?
şimdiden teşekkür ederim. İyi geceler.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Aşağıdaki gibi denermisiniz?


Kod:
Private Sub TextBox2_Change()
Set s1 = Sheets("Sayfa1")
If TextBox2 <> "" Then
Set ara = s1.Range("B:B").Find(TextBox2, , , xlWhole, , , False)
If Not ara Is Nothing Then TextBox10 = s1.Cells(ara.Row, "C")
End If
End Sub


Private Sub TextBox10_Change()
Set s1 = Sheets("Sayfa1")
If TextBox10 <> "" Then
Set ara = s1.Range("C:C").Find(TextBox10, , , xlWhole, , , False)
If Not ara Is Nothing Then TextBox2 = s1.Cells(ara.Row, "B")
End If
End Sub
("Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)" başlığı altında kullanırsanız, "textbox" çıkışında çalışacaktır )
 
Son düzenleme:
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Merhaba
Aşağıdaki gibi denermisiniz?


Kod:
Private Sub TextBox2_Change()
If TextBox2 <> "" Then
Set ara = Range("B:B").Find(TextBox2, , , xlWhole, , , False)
If Not ara Is Nothing Then TextBox10 = Cells(ara.Row, "C")
End If
End Sub


Private Sub TextBox10_Change()
If TextBox10 <> "" Then
Set ara = Range("C:C").Find(TextBox10, , , xlWhole, , , False)
If Not ara Is Nothing Then TextBox2 = Cells(ara.Row, "B")
End If
End Sub
("Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)" başlığı altında kullanırsanız, "textbox" çıkışında çalışacaktır )
Teşekkür ederim PLİNT hocam ilgin için. Ancak hata verdi. Anladığım kadarıyla C ve D lerin hangi sayfada olduğunu bilemediği için hata veriyor. Nereye eklemem lazım sayfa adını aceba
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Yukarıdaki değişen kodlardaki s1=sheets("Sayfa1") bölümünü ayarlarsınız
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
PLİNT hocam yine hata verdi. Örnek dosya oluşturdum buradan bakabilir misin?
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Kusura bakmayın ancak bakabildim.
Set s1 = Sheets("BİLGİLER") gibi veya Set s1 = Sayfa8 yazmalısınız.
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
Merhaba
Kusura bakmayın ancak bakabildim.
Set s1 = Sheets("BİLGİLER") gibi veya Set s1 = Sayfa8 yazmalısınız.
Sayın hocam verdiğin kodları denedim önce hata verdi. Ama hatanın nedenini deneme yanılmayla bulmaya çalıştım ve dosyamdaki kodların başındaki
Option Explicit yazısını silince düzeldi. Sildiğim yazının dosyama olumsuz bir etkisi olur mu?
Bir de iki textbox'dan birini silince diğerinin de otomatik olarak silinmesini nasıl yapabilirim aceba?
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
"Option Explicit" örnek dosyanızda yoktu,
Yazmasanızda olur ama yazarsanız; Option Explicit on veya off , belirtilmezse "on" olarak kabul edilir, kod içindeki, değişkenlerin ne olduğunu açıklamak gerekir örnekte "dim s1 as worksheet" gibi.
"Textbox" ların boşaltılması için aşağıdaki kodları deneyebilirsiniz.
Kod:
Option Explicit 'sayfanın başında'


Private Sub TextBox2_Change()
Dim s1 As Worksheet, ara As Range
Set s1 = Sheets("BİLGİLER")
If TextBox2 <> "" Then
Set ara = s1.Range("B:B").Find(TextBox2, , , xlWhole, , , False)
If Not ara Is Nothing Then TextBox10 = s1.Cells(ara.Row, "C")
Else
TextBox10 = ""
End If
End Sub


Private Sub TextBox10_Change()
Dim s1 As Worksheet, ara As Range
Set s1 = Sheets("BİLGİLER")
If TextBox10 <> "" Then
Set ara = s1.Range("C:C").Find(TextBox10, , , xlWhole, , , False)
If Not ara Is Nothing Then TextBox2 = s1.Cells(ara.Row, "B")
Else
TextBox2 = ""
End If
End Sub
 
Katılım
21 Kasım 2018
Mesajlar
153
Excel Vers. ve Dili
Excel 2013 , Türkçe
"Option Explicit" örnek dosyanızda yoktu,
Yazmasanızda olur ama yazarsanız; Option Explicit on veya off , belirtilmezse "on" olarak kabul edilir, kod içindeki, değişkenlerin ne olduğunu açıklamak gerekir örnekte "dim s1 as worksheet" gibi.
"Textbox" ların boşaltılması için aşağıdaki kodları deneyebilirsiniz.
Kod:
Option Explicit 'sayfanın başında'


Private Sub TextBox2_Change()
Dim s1 As Worksheet, ara As Range
Set s1 = Sheets("BİLGİLER")
If TextBox2 <> "" Then
Set ara = s1.Range("B:B").Find(TextBox2, , , xlWhole, , , False)
If Not ara Is Nothing Then TextBox10 = s1.Cells(ara.Row, "C")
Else
TextBox10 = ""
End If
End Sub


Private Sub TextBox10_Change()
Dim s1 As Worksheet, ara As Range
Set s1 = Sheets("BİLGİLER")
If TextBox10 <> "" Then
Set ara = s1.Range("C:C").Find(TextBox10, , , xlWhole, , , False)
If Not ara Is Nothing Then TextBox2 = s1.Cells(ara.Row, "B")
Else
TextBox2 = ""
End If
End Sub
Harikasın hocam çok teşekkür ederim.
 
Katılım
2 Kasım 2021
Mesajlar
1
Excel Vers. ve Dili
Excell 2016-Türkçe
Merhaba,
Excell üzerinde personelkartı adı altında bir sheet'im var.
İlgili sheetin A:A sutünunda sicil numaraları C:C sutünunda adı ve soyadı bulunuyor.
VB üzerinde textbox1 olan sicil numaraları textbox3 olan adı soyadı.
Benim burada istediğim textbox1 kutusu içerisine sicil numarasını girdiğimde textbox3 olan kutuda adı ve soyadının otomatik çıkmasıdır.
Şimdiden teşekkürler...
 
Üst