• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

TextBox ile DüşeyAra

Katılım
26 Haziran 2009
Mesajlar
16
Excel Vers. ve Dili
Fonksiyonlar-VBA
Merhaba arkadaslar.

TextBox1 e veri girişi yapıp 'enter' a bastığımda, TextBox1 deki veriyi Tanımlar sayfasındaki B2 ile AB sütünları arasında aratıp 3. sütundaki veriyi TextBox2 ye yazdırmak istiyorum.

Bir türlü yapamadım yardımcı olur musunuz lutfen?
 
Aslında şunu mu demek istiyorsunuz: Textbox1'deki veriyi "B" sütununda aramasını ve Textbox2'ye "D" sütununda karşılık gelen veriyi mi yazdırmak istiyorsunuz ?
 
Bunu Dene

Private Sub CommandButton1_Click()
[Tanımlar!AZ1] = TextBox1.Text
[BA1] = "=VLOOKUP(AZ1,B:AB,3,0)"
Range("BA1").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Paste
Application.CutCopyMode = False
TextBox2.Text = [Tanımlar!BA1]
Range("A1").Select
End Sub
 
Eğer doğru şekilde anlamışsam Textbox1'in yanına koyacağınız bir Commandbutton'un Click olayı içine şu kodu yazabilirsiniz. Ve enter'a basmak yerine o Commandbutton'a tıklayarak kodu çalıştırabilirsiniz.

With Sheets("Tanımlar")

i = 1
Do Until Textbox1.Text = .Cells(i, "B")
i = i + 1
Loop

Textbox2.Text = .Cells(i, "D")


End With
 
Eğer doğru şekilde anlamışsam Textbox1'in yanına koyacağınız bir Commandbutton'un Click olayı içine şu kodu yazabilirsiniz. Ve enter'a basmak yerine o Commandbutton'a tıklayarak kodu çalıştırabilirsiniz.

evet A sütununda arattırıcak D sutundaki karsılıgını textbox 2 ye yazıcak.
fakat bu şekilde 19 tane textbox war düzenlemem gereken.

ayrıca command button a tıklayınca aramasını istemiyorum Textbox 1 ye yazıp enter e basınca bulmasını ıstıyorum bunu nasıl yapabiliriz
 
Textbox1'i arıyor 2'ye yazıyor bu tamam.
Peki ya diğerleri?
Textbox3'ü arayıp 4'e mi yazacak ?
Textbox5'i arayıp 6'ya mı ?
 
Textbox1'i arıyor 2'ye yazıyor bu tamam.
Peki ya diğerleri?
Textbox3'ü arayıp 4'e mi yazacak ?
Textbox5'i arayıp 6'ya mı ?

hayır her defasında textbox1 i arıyacak. (tanımlar sayfasında B sütununda)

toplam 19 değil 27 tane var textbox
 
Textbox1'i arıyor 2'ye yazıyor bu tamam.
Peki ya diğerleri?
Textbox3'ü arayıp 4'e mi yazacak ?
Textbox5'i arayıp 6'ya mı ?

Hocam Bu şekilde olsa kod nasıl olurdu ?..

enkin kardeş bir örnek dosya eklersen
Eminim sorunun daha çabuk çözülecek..
 
Tamam textbox1'i aradı Textbox2'ye yazdı. sonrası ne olacak? yani diğer o 27 textbox'a napılacak bunu soruyorum
 
Tamam textbox1'i aradı Textbox2'ye yazdı. sonrası ne olacak? yani diğer o 27 textbox'a napılacak bunu soruyorum

her bi textbox için aynı şekilde kod yazmak gerekmiyor mu. bende bilmiyormu işte nasıl yapıcagımı. o yuzden yardım istedim. ben size dosyayı ekliyim bi bakın isterseniz orda ürün arama sayfası var bi de tanımlar sayfasına bakın excelde
 
Son düzenleme:
O Şekilde olsaydı sanırım bu şekilde olurdu:

Hocam Bu şekilde olsa kod nasıl olurdu ?..

enkin kardeş bir örnek dosya eklersen
Eminim sorunun daha çabuk çözülecek..

For j=1 to 13
for k=2 to 26

With Sheets("Tanımlar")

i = 1
Do Until Controls("Textbox"&j).Text = .Cells(i, "B")
i = i + 1
Loop

Controls("Textbox"&k).Text = .Cells(i, "D")


End With

Next
Next
 
Veya Şu şekilde:

For j=1 to 13

With Sheets("Tanımlar")

i = 1
Do Until Controls("Textbox"&j).Text = .Cells(i, "B")
i = i + 1
Loop

Controls("Textbox"&2j).Text = .Cells(i, "D")


End With
Next
 
hayır arkadaslar olmuyor. dosyayı incelediniz mi. nasıl olucagını anladınız mı tam olarak
 
O Şekilde olsaydı sanırım bu şekilde olurdu:

For j=1 to 13
for k=2 to 26

Hocam J döngüsü içinde olan 2-13 K döngüsünde de var.
Bu durumda ya hata verecek yada sonsuz döngü yapacak..

ikinci kod da

Controls("Textbox"&2j).Text = .Cells(i, "D")
Bu satır hata veriyor..
 
Son düzenleme:
hayır arkadaslar olmuyor. dosyayı incelediniz mi. nasıl olucagını anladınız mı tam olarak

quesh arkadaşımız şu an senin dosyan üzerinde uygulayarak hazırlıyordur.
Biraz sabredin
Bu arada bu konu ile bizde döngüdeki sorunu nasıl çözeceğiz bakalım..
Aslında çokta önemli değil ben öylesine girdim konuya

Siz arkadaşımızın sorununu halledin bu konuya fazla kafa yormayın...
 
arkadaslar ben buldum kodları.

kodlar şu şekilde;

Private Sub TextBox1_Change()
On Error Resume Next
Dim Bul As Range
Set Bul = Sheets("Tanımlar").Columns(2).Find(what:=TextBox1, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
TextBox2.Text = Bul.Offset(0, 2).Value
TextBox3.Text = Bul.Offset(0, 3).Value
TextBox4.Text = Bul.Offset(0, 4).Value
TextBox5.Text = Bul.Offset(0, 5).Value
TextBox6.Text = Bul.Offset(0, 6).Value
TextBox7.Text = Bul.Offset(0, 7).Value
TextBox8.Text = Bul.Offset(0, 8).Value
TextBox9.Text = Bul.Offset(0, 9).Value
TextBox10.Text = Bul.Offset(0, 10).Value
TextBox11.Text = Bul.Offset(0, 11).Value
TextBox12.Text = Bul.Offset(0, 12).Value
TextBox13.Text = Bul.Offset(0, 13).Value
TextBox14.Text = Bul.Offset(0, 14).Value
TextBox15.Text = Bul.Offset(0, 15).Value
TextBox16.Text = Bul.Offset(0, 16).Value
TextBox17.Text = Bul.Offset(0, 17).Value
TextBox18.Text = Bul.Offset(0, 18).Value
TextBox19.Text = Bul.Offset(0, 19).Value
TextBox20.Text = Bul.Offset(0, 20).Value
TextBox21.Text = Bul.Offset(0, 21).Value
TextBox22.Text = Bul.Offset(0, 22).Value
TextBox23.Text = Bul.Offset(0, 23).Value
TextBox24.Text = Bul.Offset(0, 24).Value
TextBox25.Text = Bul.Offset(0, 25).Value
TextBox26.Text = Bul.Offset(0, 26).Value

End Sub
 
Geri
Üst