Textboxtan koşullu arama yapmak.

hasankardas

Altın Üye
Katılım
14 Ağustos 2006
Mesajlar
508
Excel Vers. ve Dili
Ofis 2021ProPlus TR 64 Bit
Altın Üyelik Bitiş Tarihi
18-01-2027
Merhabalar,
23 haneli barkod numarası içerisinden parça alarak arama yapmak istiyorum. parçaal-düşeyara fonksiyonu ile yapmak istedim yapamadım. barkod numarası uzun karakter olduğu için excel de extra işlemler yapmamak için textbox üzerinden yapmak istedim. tabloyu sadeleştirdim. tablo üzerinde açıklama yazdım. yardımlarınız için teşekkürler.

http://dosya.co/crndugpso2ar/arama.xlsm.html
 

Ekli dosyalar

Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Ek dosyayı denermisiniz?
Buton yerine "Textbox" a barkod girildiğinde kodlar çalışacaktır
http://dosya.co/7mg3z11vvhyv/arama(1).zip.html

Kod:
[SIZE="2"]Private Sub TextBox1_Change()
If Len(TextBox1.Value) < 5 And IsNumeric(TextBox1.Value) = False Then Exit Sub
Dim s1 As Worksheet, s2 As Worksheet
Dim ara As Range
Set s1 = ActiveSheet
Set s2 = Sheets("veri")
s1.Range("B7:C7,B9:C9") = ""
Dim a As String, b As String
a = Mid(TextBox1, 2, 2)
b = Mid(TextBox1, 2, 4)
Set ara = s2.[A:A].Find(a, s2.[A1], xlValues, xlWhole, xlByRows, xlNext)
If Not ara Is Nothing Then
s1.Cells(7, "B") = a
s1.Cells(7, "C") = s2.Cells(ara.Row, "B")
End If
Set ara = Nothing
Set ara = s2.[E:E].Find(b, , , xlWhole)
If Not ara Is Nothing Then
s1.Cells(9, "B") = b
s1.Cells(9, "C") = s2.Cells(ara.Row, "F")
End If
End Sub[/SIZE]
 

hasankardas

Altın Üye
Katılım
14 Ağustos 2006
Mesajlar
508
Excel Vers. ve Dili
Ofis 2021ProPlus TR 64 Bit
Altın Üyelik Bitiş Tarihi
18-01-2027
Çok güzel olmuş teşekkür ederim. Bu işlemi formülle nasıl yaptırabiliriz?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,986
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

► Sayfada ARAMA işlemi için TEXTBOX kullanacaksanız Sayın PLİNT'in gösterdiği yolu takip etmelisiniz.
Bunun olumlu yanı; TextBox'a veri yazılmakta iken kod'un devreye girmesi ve sonuç vermesidir.

►İşlem için kod yerine formül kullanmak istiyorsanız; TEXTBOX'a veri yazmak yerine bir HÜCREYE (örneğin A1 hücresi) veri yazmalısınız.
Bunun olumsuz yanı; veri yazılmakta iken formül etkileşiminin olmaması.
Formülün işlem yapabilmesi için A1'e verinin yazılıp, ENTER tuşu, YÖN TUŞU, FARE KULLANARAK vs. hücreden çıkılmış olması gerekir .

Formül yöntemini kullanmak istiyorsanız ve üzerinden arama yapılacak METNİ A1 hücresine yazacaksanız; aşağıdaki formüller işinizi görecektir.
(A1 hücresinin biçimini METİN olarak ayarlayın ki; 23 karakterli rakam dizisi yazabilin)

-- C7 hücresine;
Kod:
=[COLOR="red"]EĞER[/COLOR](A1="";"";[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EHATALIYSA[/COLOR]([COLOR="red"]KAÇINCI[/COLOR](0+[COLOR="red"]PARÇAAL[/COLOR](A1;2;2);veri!$A$1:$A$20;0));"BULUNAMADI";[COLOR="red"]YAZIM.DÜZENİ[/COLOR]([COLOR="red"]KAYDIR[/COLOR](veri!$B$1;[COLOR="red"]KAÇINCI[/COLOR](0+[COLOR="red"]PARÇAAL[/COLOR](A1;2;2);veri!$A$1:$A$20;0)-1;0))))
-- C9 hücresine;
Kod:
=[COLOR="red"]EĞER[/COLOR](A1="";"";[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EHATALIYSA[/COLOR]([COLOR="red"]KAÇINCI[/COLOR](0+[COLOR="red"]PARÇAAL[/COLOR](A1;2;4);veri!$E$1:$E$20;0));"BULUNAMADI";[COLOR="red"]YAZIM.DÜZENİ[/COLOR]([COLOR="red"]KAYDIR[/COLOR](veri!$F$1;[COLOR="red"]KAÇINCI[/COLOR](0+[COLOR="Red"]PARÇAAL[/COLOR](A1;2;4);veri!$E$1:$E$20;0)-1;0))))
 

hasankardas

Altın Üye
Katılım
14 Ağustos 2006
Mesajlar
508
Excel Vers. ve Dili
Ofis 2021ProPlus TR 64 Bit
Altın Üyelik Bitiş Tarihi
18-01-2027
Merhaba.

► Sayfada ARAMA işlemi için TEXTBOX kullanacaksanız Sayın PLİNT'in gösterdiği yolu takip etmelisiniz.
Bunun olumlu yanı; TextBox'a veri yazılmakta iken kod'un devreye girmesi ve sonuç vermesidir.

►İşlem için kod yerine formül kullanmak istiyorsanız; TEXTBOX'a veri yazmak yerine bir HÜCREYE (örneğin A1 hücresi) veri yazmalısınız.
Bunun olumsuz yanı; veri yazılmakta iken formül etkileşiminin olmaması.
Formülün işlem yapabilmesi için A1'e verinin yazılıp, ENTER tuşu, YÖN TUŞU, FARE KULLANARAK vs. hücreden çıkılmış olması gerekir .

Formül yöntemini kullanmak istiyorsanız ve üzerinden arama yapılacak METNİ A1 hücresine yazacaksanız; aşağıdaki formüller işinizi görecektir.
(A1 hücresinin biçimini METİN olarak ayarlayın ki; 23 karakterli rakam dizisi yazabilin)

-- C7 hücresine;
Kod:
=[COLOR="red"]EĞER[/COLOR](A1="";"";[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EHATALIYSA[/COLOR]([COLOR="red"]KAÇINCI[/COLOR](0+[COLOR="red"]PARÇAAL[/COLOR](A1;2;2);veri!$A$1:$A$20;0));"BULUNAMADI";[COLOR="red"]YAZIM.DÜZENİ[/COLOR]([COLOR="red"]KAYDIR[/COLOR](veri!$B$1;[COLOR="red"]KAÇINCI[/COLOR](0+[COLOR="red"]PARÇAAL[/COLOR](A1;2;2);veri!$A$1:$A$20;0)-1;0))))
-- C9 hücresine;
Kod:
=[COLOR="red"]EĞER[/COLOR](A1="";"";[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EHATALIYSA[/COLOR]([COLOR="red"]KAÇINCI[/COLOR](0+[COLOR="red"]PARÇAAL[/COLOR](A1;2;4);veri!$E$1:$E$20;0));"BULUNAMADI";[COLOR="red"]YAZIM.DÜZENİ[/COLOR]([COLOR="red"]KAYDIR[/COLOR](veri!$F$1;[COLOR="red"]KAÇINCI[/COLOR](0+[COLOR="Red"]PARÇAAL[/COLOR](A1;2;4);veri!$E$1:$E$20;0)-1;0))))

Ömer bey cevabınız için teşekkür ederim. Bende parçaal ile yapmaya çalışırken normal hücre üzerinden çalışmıştım. teşekkür eder saygılar sunarım
 
Üst