TextBox'dan Textbox'a veri aktarma

ekremmk

Altın Üye
Katılım
21 Kasım 2018
Mesajlar
107
Beğeniler
9
Excel Vers. ve Dili
Excel 2013 , Türkçe
#1
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,480
Beğeniler
11
Excel Vers. ve Dili
Excel 2010
#2
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:

ekremmk

Altın Üye
Katılım
21 Kasım 2018
Mesajlar
107
Beğeniler
9
Excel Vers. ve Dili
Excel 2013 , Türkçe
#3
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,480
Beğeniler
11
Excel Vers. ve Dili
Excel 2010
#4
Yukarıdaki değişen kodlardaki s1=sheets("Sayfa1") bölümünü ayarlarsınız
 
Katılım
31 Aralık 2014
Mesajlar
1,480
Beğeniler
11
Excel Vers. ve Dili
Excel 2010
#6
Merhaba
Kusura bakmayın ancak bakabildim.
Set s1 = Sheets("BİLGİLER") gibi veya Set s1 = Sayfa8 yazmalısınız.
 

ekremmk

Altın Üye
Katılım
21 Kasım 2018
Mesajlar
107
Beğeniler
9
Excel Vers. ve Dili
Excel 2013 , Türkçe
#7
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,480
Beğeniler
11
Excel Vers. ve Dili
Excel 2010
#8
"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
 

ekremmk

Altın Üye
Katılım
21 Kasım 2018
Mesajlar
107
Beğeniler
9
Excel Vers. ve Dili
Excel 2013 , Türkçe
#9
"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.
 
Üst