for each ayni in Range("B13:B65536") ayni ise msg

Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Dim ayni As Integer

aynı fiş varsa kontrol eder mesaj yayınlar.

For Each ayni In Range("B13:B65536")
If ayni.Value = TFisNo.Value Then
MsgBox "Bu Fiş Daha Ã?nce Girilmiş.:)"
TFisNo.SetFocus
Exit Sub
End If
Next ayni
burda fiş no aynı ise bana uyarı verip tekrar girilmesini önlemek amacı ile yaptığım kontrol du ama hatalı mı yapıyorum anlamıyorum

çalışmadı ayni üzerine gelip hata veriyor

Anlamadım yardım ederseniz sevinirim...
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
[vb:1:1f0c6fd96c]Private Sub Tfisno_Exit(ByVal Cancel As MSForms.ReturnBoolean)
For Each ayni In Range("B13:B" & [b65536].End(3).Row).Cells
If Val(ayni) = Val(Tfisno) Then
MsgBox "Bu Fiş Daha Ã?nce Girilmiş.Gülümse"
Tfisno.SetFocus
Exit Sub
End If
Next ayni
End Sub[/vb:1:1f0c6fd96c]
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Çok Teşekkür ederim

bir soru daha sorabilirmiyim

calendar1 de aktif yaptığımız zaman orda kalvyenin yön tuşlarını kullanarak tarihler üzerinde gezinti yapsak ve entere basınca da seç miş olduğumuz değeri texbox a aktarsa

gerçi aktarma işi yapıyorum ancak mouse kullanarak istediğim tarihi maouse ile tıklayınca değeri texbox a aktarıyor ve bir altındaki texbox a geçiş yapıyor

ben bunu yön tuşları ile seçip enter e basınca yapmak istiyorum acaba mümkün mü
 
Katılım
3 Mart 2005
Mesajlar
571
Excel Vers. ve Dili
Excel 2000 Ing.
ben de değişik bir yöndetemle yapmıştım
döngüden daha hızlı çalışıyor..

[vb:1:5e46d9fc10]Sub deneme()
Set kaynak = Sheets("Sheet1").Range("B:B")
On Error Resume Next
x = 0
x = WorksheetFunction.Match(TFisNo.Value, kaynak, 0)
If x > 0 Then
MsgBox "bu fiş daha önce kaydedilmiş"
'komutlar
End If
End Sub[/vb:1:5e46d9fc10]
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bir alternatifte benden aslında Sn isakarakus'un koduyla aynı mantık ama kullanılan countif fonksiyonu ile satır sayısını azaltmak mümkün.

[vb:1:781c6ae4e3]Sub deneme()
if WorksheetFunction.countif(sheets("sheet1"), TFisNo)>0 then Then
MsgBox "bu fiş daha önce kaydedilmiş"
exit sub
End If
End Sub [/vb:1:781c6ae4e3]
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
çok özürdilerim sayın leventm ve isakarakus arkadaşım sizden lütfen bu satırların kısa birer açıklamasını yapabilirseniz benimde uygulamam da kullanmam bir okadar anlaşılır ve diğer uygulamalarımda bu mantıkları kullanma şansım olur rica etsem..... Teşekkürler
 
Üst