Hücreye sadece Rakam Girilmesi için makro yazabilirmiyiz

Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
bir hücreye sadece rakam girilmesini istiyorum yani string bir ifade olmicak. harf girildiğinde bu bölüme sadece rakam girebilirsiniz diye uyarı versn.
sayı virgüllü de olabilir örneğin 15,50 bunu sağlayabilirmiyiz
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,229
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayınız. Örnek sadece A sütunu için geçerlidir siz sınır verebilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If IsNumeric(Target) = False Then
    MsgBox "Sadece Rakam Girişine İzin Var...."
    Target = ""
    Target.Offset(0, 0).Select
End If
Son:
End Sub
 
Son düzenleme:

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,417
Excel Vers. ve Dili
excel 2010
merhaba
alternatif olsun
veri / doğrulama / izin verilen (ondalık) / en az (-9,99999999999999E+307) / en çok (9,99999999999999E+307)
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
sayın uzmanamele ve Necdet Yeşertener çok teşekkür ederim
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
A11 için nereyi değiştirmem gerekiyor yani Sadece A11 hücresi için geçerli olsun bu kural. ben istediğim gibi çoğaltıcam
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
tamm yaptım bunu diğer hücreler içinde nasıl uyarlayabilirim. yani A1, B12, D3
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,229
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sayın uzmanamele'nin verdiği formülde tarihi de kabul ediyor, bu sizin için sorun değilse sorun değildir :)

Ama bilmediğim birşeydi bende öğrenmiş oldum. Teşekkürler uzmanamele.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,417
Excel Vers. ve Dili
excel 2010
merhaba
syn Necdet Yeşertener,
ben sizden okadar çok şey öğrendimki anlatamam...
siz ve diğer uzman arkadaşların sayesinde şimdiki bilgi düzeyime ulaşdım.
asıl ben size çok çok teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,229
Excel Vers. ve Dili
Ofis 365 Türkçe
Karşılıklı öğrenme sürecindeyiz Süleyman Bey. :) Hiç bir şey bir çırpıda olmuyor.
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
sanırım kodda problem var uyarıyı stringte olsa integer de olsa veriyo. başka bir yeri tıklayıp döndüğümde uyarı verip hücreyi siliyor. lütfen kontrol edermisiniz
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,229
Excel Vers. ve Dili
Ofis 365 Türkçe
Ben yukardaki dosyayı yeniledim. Makroyu koymadan dosyayı koymuşum :)

Hata var derken hangisi için söylediniz?
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
dediğim şeyi bir türlü düzeltemedim yani istediğim gibi hücre hücre belirleyemiyorum. amacım B2, D3, K5,C9, şeklinde hücreleri belirleyip bu kuralı onlar için koymak. nasıl yapabilirim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,229
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Sanırım şimdi olay anlaşılmıştır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [[B][COLOR=red]A1, B2, C3, D4[/COLOR][/B]]) Is Nothing Then Exit Sub
If IsNumeric(Target) = False Then
MsgBox "Sadece Rakam Girişine İzin Var...."
Target = ""
Target.Offset(0, 0).Select
End If
Son:
End Sub
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
kusura bakmayın :) ama maalesef yine hata var. veri yi yazdım ondan sonra mesajı bana verdi ve o mesaja tamm dedikçe yeniden mesaj vermeye başladı. bu olayı verileri girip tüm hücreleri seçip delete yaptıktan sonra veriyor
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
K35 ve M35' e uyguladım bunu ama hatayı ben anlatamıyorum galiba isterseniz birde siz bakın örnek ektedir
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,229
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Silince dediğinize göre küçük bir ek yaptım koda

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A1, B2, C3, D4]) Is Nothing Then Exit Sub
[B]If Target = "" Then Exit Sub[/B]
If IsNumeric(Target) = False Then
MsgBox "Sadece Rakam Girişine İzin Var...."
Target = ""
Target.Offset(0, 0).Select
End If
Son:
End Sub
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
Sayın Necdet bey yapıyorum ama macro çalışmıyor sizden rica etsem gönderdiğim eke bu macroyu entegre edip çalıştığını teyit edermisiniz benim beceriksizliğimdenmidir nedir ama çalışmıyor. başka bi sayfa açıyorum yeni ondada har giriyorum kabul ediyo başka bir yeri tıklayıp tekrar o hücreye geldiğimde hata veriyor
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba sn pcerdal

Kodlarınızı "Worksheet_SelectionChange" olayına değil

"Worksheet_Change" olayına yazarak deneyiniz...
 
Katılım
10 Temmuz 2008
Mesajlar
65
Excel Vers. ve Dili
2003 English
Sayın Erhan Ercan ve Uğraştırdığım Necdet Yeşertener Burda olsaydınızda elinizi öpseydim teşekkür ederim. evet çalıştı :) burdan öğrendiğim bilgileri okulda öğrenmedim. tekrar tekrar teşekkür ederim çok sağolun.
saygılarımla.
 
Üst