format ayarlari

Katılım
30 Haziran 2005
Mesajlar
149
Selamlar,

textbox'a girilen verinin ###/## formatinda olmasini istiyorum fakat soyle bir sorun var: bolu isaretinden evel yazilacak sayi 1 ila 3 haneli sayi olabilir, ve bolunun saginda kalan kisimada 1 yada 2 haneli sayi yazilabilir... yani girilebilecek formatlar
x/x
x/xx
xx/x
xx/xx
xxx/x
xxx/xx
olabilir

bunun disinda bir veri girilmeye calisildigi zaman (mesela veriler harf ise yada 11/1111 formatinda ise) bir hata mesaji vermesini istiyorum.

Bu nasil yapilir aciklarsaniz (yada gerekli linke yonlendirirseniz) sevinirim
tesekurler
 
Katılım
30 Haziran 2005
Mesajlar
149
Sn leventm,
gosterdiginiz linkteki sayi formati sabit (####/##) seklinde
benim istedigim ise biraz daha esnek birsey. Yukardaki linkten faydalanarak birseyler yaptim ama ###/## disinda olan butun formatlarda hata veriyor.
Benim istedigim bolu isaretinden evel 1,2 yada3 tane sayi; bolu isaretinden sonrada 1 yada 2 tane sayi girebilme olanagi sunmak.

yinede ilginize cok tesekur ederim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,030
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin. Kod textboxtan çıkınca çalışır. veriyi textboxa "/" işareti ile birlikte yazın. Ã?r; 1223/5667 gibi.

[vb:1:4dc4abbaa0]Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
bul = WorksheetFunction.FindB("/", TextBox1.Value)
sol = Len(Mid(TextBox1.Value, 1, bul - 1))
sag = Len(Mid(TextBox1.Value, bul + 1, Len(TextBox1.Value)))
If sol > 3 Or sag > 2 Then
MsgBox "yazilan format hatalidir"
TextBox1.SetFocus
End If
End Sub
[/vb:1:4dc4abbaa0]
 
Katılım
30 Haziran 2005
Mesajlar
149
tesekurler leventm,
sanirim bu isime yarar.
ayrica konuyla ilgili olarak, forumdan takip ettigim kadariyla sanirim ocx denen bir sey maskedit denen birseyi kullanip textbox'larda format yaratabiliyor. eger bu konuda bilgiliyseniz, textboxta ___/__ seklinde bir string olusturup veri yazdikca bu stringin kuculdugu bir form yaratmak mumkunmu?

saygilar
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,030
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sanıyorum bu maskeditle mümkün. Fakat hiç kullanmadığım için yeterli bilgiye sahip değilim. Bununla ilgili aşağıdaki linki inceleyin. Birde yukarıdaki kodun başına hata vermemesi için "on error resume next" satırını ilave edersiniz.


http://www.excel.web.tr/viewtopic.php?t=6643&highlight=maskedit
 
Üst