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
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
946
Excel Vers. ve Dili
Excel-2003
Altın Üyelik Bitiş Tarihi
16.08.2026
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]
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
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.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
[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]
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
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.
 
Katılım
22 Mart 2005
Mesajlar
307
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?
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
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.
 
Katılım
20 Nisan 2005
Mesajlar
206
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.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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]
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
[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]
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
merhaba leventm,
tam olarak ne isteğimi izah edebilmek için ekte küçük bir örnek hazırladım. inceleyebilirseniz sevinirim.
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
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
 
Üst