• DİKKAT

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

binlik ayırıcısı ile ayrılan sayıların metne çevirme

Katılım
17 Kasım 2009
Mesajlar
295
Excel Vers. ve Dili
2010
merhaba arkadaşlar vba ile a sütununda bulunan binlik ayırıcı ile ayrılan sayıların metne nasıl çevirebiliriz
 

Ekli dosyalar

  • binlik ayırıcı.jpg
    binlik ayırıcı.jpg
    73.7 KB · Görüntüleme: 16
Metne çevirmek ile ne demek istiyorsunuz?

a) Ondalıklı sayıyı yazıya çevirmek,

b) Binlik ayracını kaldırıp, yine sayıyı ondalık ayracı olarak "virgül" yerine "nokta" kullanarak yenilemek

c) Veri biçimini "Sayı" değil, "Metin" olarak değiştirmek,

.
 
tablodaki verilerde binlik ayırıcısı ile 12.500 olarak görünen verilerde ve 12.500 olan sayıyı kopyaladığımda bir text dosyasına yada başka bir yere 12500 şeklinde oluyor. binlik ayırıcısı olmadan 12.500 nokta içinde görünmesini istiyorum.
 
Kod:
Range("A1") = Range("A1").Text

.
 
denedim fakat olmadı 12.500 binlik ayrıcı ayrılmış bir tutarı kod ile denediğimde 13 olarak yazıyor 12.500 metin gibi olsun istiyorum.
 
A1 de 12500 yaziyor ve A sütunu bu şekilde sayı olarak devam ediyorsa;
B sütunun seçiniz, Hücre Biçimlendir'den veri tipi olarak Metin seçiniz.
B1 hücresine 12.500 yazınız (noktalı olarak)
B2 hücresini tıklayınız.
Veri>Hızlı Doldur tıklayınız.
İşlem tamamlandı.
 
Hızlı doldur güzel bir uygulama fakat eski versiyonlarda uygulanamıyor.

Alternatif makrolu çözümü deneyebilirsiniz.

C++:
Option Explicit

Sub Number_To_Text()
    Dim Veri As Variant, Son As Long, X As Long, Zaman As Double
  
    Zaman = Timer
  
    Son = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    Veri = Range("A1:A" & Son).Value2
  
    ReDim Liste(1 To UBound(Veri), 1 To 1)
  
    For X = LBound(Veri) To UBound(Veri)
        If InStr(Veri(X, 1), ".") = 0 Then
            Liste(X, 1) = FormatNumber(Veri(X, 1), 0)
        Else
            Liste(X, 1) = CStr(Veri(X, 1))
        End If
    Next

    Range("A:A").NumberFormat = "@"
    Range("A1").Resize(UBound(Veri), 1) = Liste
  
    MsgBox "Sayısal veriler binlik ayıraç ile metinsel formata çevrilmiştir." & Chr(10) & Chr(10) & _
           "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
 
merhaba kodu denedim fakat örnek dosyada userform içinde görüldüğü gibi binlik ayırıcı doğru çeviriyor fakat normal nokta olan sayılarıda değiştirmeye çalışıyor ve bozuyor.
 

Ekli dosyalar

Eklediğiniz dosyadan bir şey anlamadım.

Siz çevirmek istediğiniz verileri içeren örnek dosya paylaşırsanız ve orjinal hali bu ben bu şekle dönüştürmek istiyorum derseniz daha hızlı çözüme ulaşabiliriz.

Mesela aşağıdaki gibi değerler gördüm. Bu benim kafamı karıştırdı.

68.188.21.270
15.6.65.200
 
C sütununu binlik ayraç kullanacak şekilde ayarlamayı denediniz mi?
 
68.188.21.270
15.6.65.200 bu sayılar normal nokta ile ayrılmış olanlar metin gibi
82.600.218.235 bu sayılar binlik ayırıcı ile ayrılmış olan kopyalama yapınca 82600218235 bu sayı şekilde oluyor.

aşağıdaki kodun içine sadece nokta olanları yani 15.6.65.200 gibi metin gibileri dahil etmeden yapsın istiyorum.

Sub Number_To_Text()
Dim Veri As Variant, Son As Long, X As Long, Zaman As Double

Zaman = Timer

Son = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Veri = Range("A1:A" & Son).Value2

ReDim Liste(1 To UBound(Veri), 1 To 1)

For X = LBound(Veri) To UBound(Veri)
Liste(X, 1) = FormatNumber(Veri(X, 1), 0)
Next

Range("A:A").NumberFormat = "@"
Range("A1").Resize(UBound(Veri), 1) = Liste


End Sub
 
örnek olarak eklediğim dönüştür dosyasında modül var onu deneyince anlaşılıyor
 
#7 nolu mesajımdaki kodu revize ettim. Tekrar deneyiniz.
 
Selamlar İyi Forumlar. Bende aynı sorunu yaşıyorum, internette çözüm bulamadım. Misal 100.000.000 sayı olarak biçimlendirilmiş veriyi metine çevirdiğimde 10000000 olarak çıkıyor bunu nasıl noktalı haliyle metine çevirebiliriz. Makrolu işlemi yapamadım nasıl çözümleyeceğiz ? Teşekkürler.
 
Deneyiniz.

Untitled.png


248597
 
Formülle verileri elde ettikten sonra sütunu seçin kopyala-özel yapıştır değerleri adımlarını izleyiniz.
 
Geri
Üst