herhangi bir sayı hücresine

Katılım
1 Nisan 2008
Mesajlar
129
Excel Vers. ve Dili
excel 2002
5.5 yazıorum enter 39.573 yazıyor... 5,5 yazıorum bi sorun çıkmıyor.. noktalı sayıları toplaması için şöle bir kod kullanıorum
{
Private Sub Worksheet_Change(ByVal Target As Range)
Target = BH(Target)
End Sub

Function BH(cevir)
'BH = Replace(cevir, "i", "İ") örnek olarak
BH = Replace(cevir, ".", ",")
End Function
}

bununla bi ilgisi olabilirmi üstadlarım
şimdiden teşekkürler


not : nedense sadece 100 den aşşağısındaki noktalılara bunu yapıor...
 

Korhan Ayhan

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

Vermiş olduğunuz kodu denedim. Hücreye 5.5 yazıp enter tuşuna bastığımda 05,05,2008 sonucunu aldım.

Siz bu sonucu almıyorsanız ondalık ve binlik ayıraç ayarı yapmanız gerekebilir.

Araçlar menüsünden Seçenekler menüsünü açın.
Uluslararası sekmesini açın.
Sayı işleme bölümündeki Sistem ayıracını kullan seçeneğinin işaretli olup olmadığını kontrol edin. İşaretli olması gerekmektedir. (Tabiki sistem ayarlarınızdaki ondalık ayıracın (,) ve binlik ayıracında (.) olması gerekmektedir.)
 
Katılım
1 Nisan 2008
Mesajlar
129
Excel Vers. ve Dili
excel 2002
syn korhan bey

öncelikle ilginize teşekkürler... sölediğiniz ayarı kontrol ettim fakat olması gerektiğği gibi işaretli .... dosyayı size ekte sundumm ... yardımlarınızı bekliorumm ...
 

Ekli dosyalar

Korhan Ayhan

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

Kullandığınız kodu aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, [F9:F41]) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target = BH(Target)
Son: Application.EnableEvents = True
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, [F9:F41]) Is Nothing Then Exit Sub
    If Target = Empty Then
    Target.NumberFormat = "@"
    Else
    Target.NumberFormat = "#,##0.00"
    End If
Son:
End Sub
 
Function BH(cevir)
   'BH = Replace(cevir, "i", "İ") örnek olarak
    BH = Replace(cevir, ".", ",")
End Function
 
Katılım
1 Nisan 2008
Mesajlar
129
Excel Vers. ve Dili
excel 2002
üzgünüm korhan bey... bi değişiklik olmadı ... ayrıca bu koddan sonra programda cok yavas calısmaya basladı ... umarım çözülebilir... böle saçma bişeyle ilk defa karsılasıorumm ...15 gündür 9 sube için bütün 2009 haftalarını bitirdimm hepsi bu hatayı verior :( yardımlarınızı bekliorumm
 

Korhan Ayhan

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

Ekteki örnek dosyayı incelermisiniz. Ben denedim ve olumlu sonuçlar aldım.

Üstteki mesajımdaki koduda güncelledim. İncelermisiniz.
 

Ekli dosyalar

Katılım
1 Nisan 2008
Mesajlar
129
Excel Vers. ve Dili
excel 2002
evet korhan bey virgül koyuyor fakat toplayamıyor... metin olarak saklanan sayı olarak alıgılıyor .. toplayamıyor... B hücresinden nakit satısı secince ve e sütunundan ytl secınce en yukarıdaki yarına devir nakit bölümüne toplaması gerekiyor fakat 5,5 leri sayı ollarak algılamıyor
 

Korhan Ayhan

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

Üstteki mesajımdaki örnek dosyanızdaki formülleri revize ettim incelermisiniz.
 
Üst