virgullu sayi

Katılım
8 Kasım 2008
Mesajlar
14
Excel Vers. ve Dili
2013 - Türkçe
herkese merhaba,

userform uzerinde bir textbox olusturuyorum ve bu textbox 'a girdigim sayiyi bir komutla bir hucreye aktariyorum.

textbox 'a 1.25 ( nokta ile ) yazarsam hucreye de 1.25 olarak aktariliyor ancak textbox 'a 1,25 ( virgul ile ) yazarsam hucreye 125 ( yuzyirmibes ) olarak aktariyor.

yalniz bir - iki bilgisayarda denedim bazilarinda bu yanlislik ortaya cikmiyor. bu sorunu nasil duzeltebiliriz ?

tesekkurler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Hücreye aktarma işlemini aşağıdaki gibi yapın.

Kod:
.....=val(replace(textbox1,",","."))
 
Katılım
8 Kasım 2008
Mesajlar
14
Excel Vers. ve Dili
2013 - Türkçe
levent bey,

oncelikle yanitiniz icin tesekkur ederim. sorunu bu sekilde cozebiliyorum, ancak konuyla ilgili 2 sorum daha olacak.

birincisi benim burda virgul ile girmek istedigim sayi bir doviz kuruydu, euro 'yu 2,11 olarak girmek istedigimde sorun cikartiyordu, benim kodum;

Kod:
dim eurk as currency

eurk = Textbox15.value
Cells(2,3).value = eurk
seklindeydi. burada currency olarak devam edip
Kod:
dim eurk as currency

eurk = Textbox15.value
Cells(2,3).value = Val(Replace(eurk, ",", "."))
olarak devam ettigimde sorun yine devam etti ancak currency tanimlamasini kaldirip
Kod:
Cells(2,3).value = Val(Replace(Textbox15, ",", "."))
yaptigimda sorun ortadan kalkti, neden currency tanimlamasinda hata devam etti ? sormaktaki amacim tamamen konulari ogrenerek hakim olmaktir.

ikinci sormak istedigim ise numberformat 'tada karsimiza cikan "","","." gibi tanimlamalar, bu konu hakkinda bilgim yok, neden once iki tirnak sonra nokta tanimliyoruz ? konu hakkinda sitede dokuman bulabilir miyiz ? net olarak ogrenmek istiyorum.

tesekkurler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu sorunun tek sebebi bizim ve batının nokta ve virgülü kullanım şeklinin farklılığındandır. Biliyorsunuz biz ondalık sayıları gösterirken virgül kullanırız, batıda ise nokta. İşte bu durumda eğer ondalıklı sayıda virgül kullanırsanız VB editörü içinde bu ondalıklı sayı olarak algılanmayacaktır. Bu hatayı düzeltmek için ben genelde val fonksiyonunu kullanıcaksam replace fonksiyonu ile virgülü önce noktaya çevirmeyi tercih ediyorum.
 
Üst