0,45 gibi bir sayının 0,4 olarak girilebilmesi mümkünmü?

Katılım
5 Ağustos 2005
Mesajlar
37
Excel Vers. ve Dili
Office 2007 Pro Eng
Arkadaşlar ve değerli moderatörler.Benim bir sorum olacak bir tablom var ve o tabloda 0,45 - 0,55 gibi sayılar giriyoruz bu tip sayıların girilmesini engelleyip sadece 0,4 veya 0,5 girilmesini sağlayabilirmiyiz? hücre biçimlendirden bunu yaptım ama aşağı veya yukarı yuvarlıyor. ben izin vermemesini gerekirse küçük bir uyaru vermesini istiyorum.Sanırım bundada VBA gerekli.yardımınızı rica ediyorum..

saygılarımla
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Aşağıdaki kodlar işinizi görür sanırım. Ekteki dosyada da uygulaması var.

Private Sub Worksheet_Change(ByVal Target As Range)
xyz = Len(Target)
If xyz > 3 Then
MsgBox "Virgülden sonra sadece 1 basamak kullanabilirsiniz."
Target = ""
End If
End Sub
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Alternatif olarak ekteki dosyayı inceleyebilirsiniz.

not:mehmett hocam ,
Çok hızlısınız , alternatif olarak cevap vermekle yetiniyorum. :D
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Fazla hızlı olmak iyi değil bir hata yapmışım. :)

Kodları ve dosyayı yeniden gönderiyorum. Çünkü yukarıda verdiğim örnekde bütün sayfada kısıtlama yapılıyor. Aşağıdaki örnekte ise belli bir alanda kısıtlama var. Böylesi daha iyi. Belki geri kalan hücrelerde farklı uzunluklarda metinler veya sayılar gerekebilir.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B1:B20]) Is Nothing Then Exit Sub
xyz = Len(Target)
If xyz > 3 Then
MsgBox "Virgülden sonra sadece 1 basamak kullanabilirsiniz."
Target = ""
End If
End Sub
 
Katılım
5 Ağustos 2005
Mesajlar
37
Excel Vers. ve Dili
Office 2007 Pro Eng
mehmet hocam,

çok teşekkür ederim, çok büyük bir sorunuma ilaç oldunuz.Teşekkürler

minnetarim size.
 
Katılım
5 Ağustos 2005
Mesajlar
37
Excel Vers. ve Dili
Office 2007 Pro Eng
Mehmet hocam,

yazdığınız VBA kodu (ikincisi) çok işime yaradı fakat başka kolonlardada yapmak istiyorum..
ne yapmalıyım..

teşekkürler

b1:b2 ve e1:e20 gibi
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Mesela B1:B20 alanına ilaveten D1:D20 ve F1:F20 aralıklarını da eklemek için kodların ikinci satırını aşağıdaki gibi değiştirin.

If Intersect(Target, [B1:B20,D1:D20,F1:F20]) Is Nothing Then Exit Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. jolaus Mehmet beyin size önerdiği kod ondalık kısmı değil hücreye yazılan sayının uzunluğunu belirleyip 3 ten büyükse uyarı veriyor. Bu durumda eğer siz hücreye 10,5 girmek isterseniz kabul etmeyecektir. Gerçi siz 0,5 gibi rakamlar giriyorum demişsiniz ama ben yinede hatırlatma gereği duydum. Eğer bu şekilde kullanıma ihtiyaç duyarsanız ekteki örneği inceleyiniz.
 
Üst