• DİKKAT

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

Virgül ile Ayrılan Verileri Nokta ile Ayırmak.

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
777
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Merhaba arkadaşlar.

Bildirge sayfası J ve R sütunlarında 16013,52 gibi verilerim var. Binlik ayracı yok ama kuruş kısmı virgül ile ayrılıyor. J ve R sütunlarındaki bu verileri 14. satırdan başlayarak son dolu satıra kadar nasıl nokta ile değiştirebilirim. Örnek 16013,52 olan veriyi 16013.52 olarak. Yardımcı olursanız çok sevinirim.
 
Ctrl+H yap sutunları seç Aranana virgülü yaz yeni değere . yaz tümünü değiştir seç
 
Merhaba,
Dosya seçeneklerinden bunu çözebilirsiniz.
  • Dosya
  • Seçenekler
  • Gelişmiş
  • Sistem ayırıcılarını kullan (kaldır)
Tamam
 
Son düzenleme:
Merhaba, A1 hücresinde veri olduğunu varsayarak

=yerinekoy(a1;",";".")

Bu formülü kendinize uyarlayabilirisiniz
 
Teşekkürler arkadaşlar. Yalnız 50 adet form 50 civarında modül var. ve bu formların üzerinde 400-500 civarında buton var. Seçeneklerden değiştirdiğim de bütün kodları da değiştirmem gerekiyor. Biçim kodlarını. Ctrl+F ile de değiştirme yapmıyor. Verileri sgk nın sitesinden indirdiğim bir makrolu sayfaya alıyorum ve buradan virgülü nokta ile değiştirme yapmak istediğimde değiştirmeye izin vermiyor. sayfanın içine bir buton düğme ekleyip, il mesajımda belirttiğim gibi değiştiremez miyim.
 
Merhaba,
VBA bilgim kısıtlı ama aşağıdaki konuda yer alan kodu sizin talebinize göre revize ettim.
Kendim denedim J ve R sütunlarını 14. satırdan itibaren değiştiriyor.
Sizde deneyebilir misiniz.



Sub deneme() Dim Son As Long Dim Son2 As Long Son = Range("J" & Rows.Count).End(xlUp).Row Son2 = Range("R" & Rows.Count).End(xlUp).Row For X = 14 To Son al = Int(Cells(X, 10)) & "." & Round(100 * (Cells(X, 10) - Int(Cells(X, 10))), 0) Cells(X, 10).NumberFormat = "@" Cells(X, 10) = al Next For Y = 14 To Son2 al = Int(Cells(Y, 18)) & "." & Round(100 * (Cells(Y, 18) - Int(Cells(Y, 18))), 0) Cells(Y, 18).NumberFormat = "@" Cells(Y, 18) = al Next End Sub
 
Merhaba,
VBA bilgim kısıtlı ama aşağıdaki konuda yer alan kodu sizin talebinize göre revize ettim.
Kendim denedim J ve R sütunlarını 14. satırdan itibaren değiştiriyor.
Sizde deneyebilir misiniz.



Sub deneme() Dim Son As Long Dim Son2 As Long Son = Range("J" & Rows.Count).End(xlUp).Row Son2 = Range("R" & Rows.Count).End(xlUp).Row For X = 14 To Son al = Int(Cells(X, 10)) & "." & Round(100 * (Cells(X, 10) - Int(Cells(X, 10))), 0) Cells(X, 10).NumberFormat = "@" Cells(X, 10) = al Next For Y = 14 To Son2 al = Int(Cells(Y, 18)) & "." & Round(100 * (Cells(Y, 18) - Int(Cells(Y, 18))), 0) Cells(Y, 18).NumberFormat = "@" Cells(Y, 18) = al Next End Sub

Çok teşekkürler ccuneyt13 sıkıntı olmadan çalışıyor.
 
Deneyiniz.
Kod:
Sub VirguluNoktaYap()
    Dim ws As Worksheet
    Dim cell As Range
    Dim lastRowJ As Long
    Dim lastRowR As Long
    Dim lastRow As Long
    
    ' Aktif çalışma sayfasını seç
    Set ws = ActiveSheet
    
    ' J sütunundaki son dolu satırı bul
    lastRowJ = ws.Cells(ws.Rows.Count, "J").End(xlUp).Row
    ' R sütunundaki son dolu satırı bul
    lastRowR = ws.Cells(ws.Rows.Count, "R").End(xlUp).Row
    ' J ve R sütunlarındaki en son dolu satırı belirle
    lastRow = Application.WorksheetFunction.Max(lastRowJ, lastRowR)
    
    ' 14. satırdan son dolu hücreye kadar J sütunundaki hücreleri kontrol et
    For Each cell In ws.Range("J14:J" & lastRow)
        ' Eğer hücredeki değer sayısal ise
        If IsNumeric(cell.Value) Then
            ' Virgülü nokta ile değiştir
            cell.Value = Replace(cell.Value, ",", ".")
        End If
    Next cell
    
    ' 14. satırdan son dolu hücreye kadar R sütunundaki hücreleri kontrol et
    For Each cell In ws.Range("R14:R" & lastRow)
        ' Eğer hücredeki değer sayısal ise
        If IsNumeric(cell.Value) Then
            ' Virgülü nokta ile değiştir
            cell.Value = Replace(cell.Value, ",", ".")
        End If
    Next cell
End Sub
 
Tamam sorunsuz çalışıyır.
 
Deneyiniz.
Kod:
Sub VirguluNoktaYap()
    Dim ws As Worksheet
    Dim cell As Range
    Dim lastRowJ As Long
    Dim lastRowR As Long
    Dim lastRow As Long
   
    ' Aktif çalışma sayfasını seç
    Set ws = ActiveSheet
   
    ' J sütunundaki son dolu satırı bul
    lastRowJ = ws.Cells(ws.Rows.Count, "J").End(xlUp).Row
    ' R sütunundaki son dolu satırı bul
    lastRowR = ws.Cells(ws.Rows.Count, "R").End(xlUp).Row
    ' J ve R sütunlarındaki en son dolu satırı belirle
    lastRow = Application.WorksheetFunction.Max(lastRowJ, lastRowR)
   
    ' 14. satırdan son dolu hücreye kadar J sütunundaki hücreleri kontrol et
    For Each cell In ws.Range("J14:J" & lastRow)
        ' Eğer hücredeki değer sayısal ise
        If IsNumeric(cell.Value) Then
            ' Virgülü nokta ile değiştir
            cell.Value = Replace(cell.Value, ",", ".")
        End If
    Next cell
   
    ' 14. satırdan son dolu hücreye kadar R sütunundaki hücreleri kontrol et
    For Each cell In ws.Range("R14:R" & lastRow)
        ' Eğer hücredeki değer sayısal ise
        If IsNumeric(cell.Value) Then
            ' Virgülü nokta ile değiştir
            cell.Value = Replace(cell.Value, ",", ".")
        End If
    Next cell
End Sub

Sayın ASLAN7410 Sorunsuz çalışıyor.
 
Önerim dikkate alınmadı herhalde.
Aslında hiç uğraşmaya gerek yoktu.
 
Merhaba,
Dosya seçeneklerinden bunu çözebilirsiniz.
  • Dosya
  • Seçenekler
  • Gelişmiş
  • Sistem ayırıcılarını kullan (kaldır)
Tamam

Teşekkürler arkadaşlar. Yalnız 50 adet form 50 civarında modül var. ve bu formların üzerinde 400-500 civarında buton var. Seçeneklerden değiştirdiğim de bütün kodları da değiştirmem gerekiyor. Biçim kodlarını. Ctrl+F ile de değiştirme yapmıyor. Verileri sgk nın sitesinden indirdiğim bir makrolu sayfaya alıyorum ve buradan virgülü nokta ile değiştirme yapmak istediğimde değiştirmeye izin vermiyor. sayfanın içine bir buton düğme ekleyip, il mesajımda belirttiğim gibi değiştiremez miyim.

Necdet bu aslında yukarıdaki cevabı size yazmıştım ama direk mesajınıza cevap olarak yazmamışım, yeni bir mesaj olarak yazmışım. Dediğiniz gibi denedim ama bu kez de #,##0.00 olan bütün biçimleri değiştirmek gerekiyordu ve bu durumda bir sürü kod vardı.
 
Geri
Üst