• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

virgulu noktaya çevirmek

Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
herkese selam,
excel de sayfanın bir sütununda ondalık rakamlarım var. makro yardımıyla
mevcut rakamlardaki virgülleri noktaya nasıl çevirebilir miyim? (çevrildiği taktirde hücrenin biçimi haliyle metin olacak)

örneğin
--------
123,45 ---> 123.45
678,90 ---> 678.90
24,68 -----> 24.68
2,46 -------> 2.46
 
Tüm sütunu/satırı seçerek Düzen>>Değiştir menüsünü kullanarak ilk kısıma virgül (,),diğerine nokta (.) Yapın.

makro yardımıyla
[vb:1:6b43d38fb9]Columns("A:A").Select
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("A1").Select[/vb:1:6b43d38fb9]
 
sn.htsumer bahsettiğiniz yöntemi bende biliyorum. bu yöntem sorunu tam anlamıyla çözmüyor. neden derseniz örneğin hücrede 25,60 sayısına bahsettiğiniz yöntemi uyguladığınızda 38528,00 gibi hiç alakası olmayan bir sonuç alıyorum.
 
[vb:1:da63156bd6]Sub b()
For X = 1 To [A65536].End(3).Row
al = Int(Cells(X, 1)) & "." & Round(100 * (Cells(X, 1) - Int(Cells(X, 1))), 0)
Cells(X, 1).NumberFormat = "@"
Cells(X, 1) = al
Next
End Sub[/vb:1:da63156bd6]
 
sn.veyselemre,
makroda bir hata varmış yeni farkettim.
örneğin 1449,06 sayısını 1449.06 yerine 1449.6 şekline dönüştürüyor
bunun dışında sağlıklı çalışıyor
inceleyebilirseniz sevinirim.
 
Sayın Ugurakın;

Düzen>Bul>Değiştir ile aranan kısmına , yeni değere . yapıp tümünü değiştir dediğinizde olmuyor mu?
 
hayır olmuyor, neden olmuyor örneğin 25,06 ya bahsettiğiniz işlemi uyguladığımızda hücre 25.06.2005' e dönüyor.
 
Zannedersem, tarihi çağrıştıran rakamlarla virgül, nokta ile girişi yapılırken (Bunlar ilk iki rakam 31'e kadar, ikinci rakam 12'ye kadar veya ilk iki rakam 12'ye kadar diğer iki rakam 99'a kadar) herhalde öncelik algılamasına göre onu onu tarih formatı veya tarih endeksi ile karşımıza getirmektedir. Mantığını bilmiyorum ancak ekteki dosyada önce hücredeki rakamların başına ' kesme işareti getirip daha sonra Find-Replace yaparak ekteki dosyayı yaptım işinize yarayacağını umarım.
 
Birde aşağıdaki şekilde deneyin.

[vb:1:03043510ce]Sub bicimle()
For x = 1 To [A65536].End(3).Row
Cells(x, 1).NumberFormat = "@"
Cells(x, 1) = Replace(Cells(x, 1), ",", ".")
Next
End Sub
[/vb:1:03043510ce]
 
[vb:1:fea9b38b9c]Sub b()
For X = 1 To [A65536].End(3).Row
al = Int(Cells(X, 1)) & "." & Format(Round(100 * (Cells(X, 1) - Int(Cells(X, 1))), 0), "00")
Cells(X, 1).NumberFormat = "@"
Cells(X, 1) = al
Next
End Sub[/vb:1:fea9b38b9c]
 
merhaba leventm,
tam olarak ne isteğimi izah edebilmek için ekte küçük bir örnek hazırladım. inceleyebilirseniz sevinirim.
 
sn.veyselemre en son verdiğiniz makro kodu ile sorun çözüldü. teşekkürler.
Kod:
Sub b()
For X = 1 To [A65536].End(3).Row
al = Int(Cells(X, 1)) & "." & Format(Round(100 * (Cells(X, 1) - Int(Cells(X, 1))), 0), "00")
Cells(X, 1).NumberFormat = "@"
Cells(X, 1) = al
Next
End Sub
 
Geri
Üst