• DİKKAT

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

Ctrl + E

Katılım
29 Temmuz 2020
Mesajlar
45
Excel Vers. ve Dili
Microsoft® Excel® 2016 MSO (Sürüm 2303 Derleme 16.0.16227.20202) 32 bit TR
Merhabalar;
Ctrl + E İle Çalışıyorum;
Fakat Her Hücrede Doğru Sonucu Alamıyorum. Yardımlarınız İçin Şimdiden Teşekkürler;
Saygılar

Ödeme Metni

Tutar

Yemek Bedeli 5,246.92

5,246.92

Ödeme Yapıldı 3,987.98

3,987.98

Benzin Alımı Gideri 2,000.00

2,000.00

5,465 TL Ödeme

5,465 TL Ödeme

Sevim Ödeme 6,800 TL

6,800 TL

Sigortalara 19,654 Ödeme Yapıldı

19,654 Ödeme Yapıldı

Vergi 5,467.90

5,467.90
 
Sanırım metin içindeki sayıları almaya çalışıyorsunuz. Her hücredeki yazım şekli farklı. Ctrl+E ile ilk hücredeki referansa göre işlem yaptığı için sonraki referansa uymayan hücrelerde hatalı kısımları alıyor. Bunun yerine aşağıdaki fonksiyonu kullanabilirsiniz.

Not: Ctrl+E, sistem ayarlarınızdaki ondalık ve binlik ayırıcı farklılığından da çalışmıyor olabilir.

236285

=SAYIYAÇEVİR(PARÇAAL(A2;MİN(EĞERHATA(BUL({0;1;2;3;4;5;6;7;8;9;".";","};A2);"A"));TOPLA(EĞER(UZUNLUK(A2)>UZUNLUK(YERİNEKOY(A2;{0;1;2;3;4;5;6;7;8;9;".";","};""));UZUNLUK(A2)-UZUNLUK(YERİNEKOY(A2;{0;1;2;3;4;5;6;7;8;9;".";","};""));0))))

236284
 
Son düzenleme:
Ben verdiğiniz örneği şu şekilde yapınca sonuca ulaştım.

Levent beyin paylaştığı görsele göre;

Önce B2 hücresine 5246,92 yazdım.
Sonra B5 hücresine 5465 yazdım.
Sonra B7 hücresine 19654 yazdım.

Son olarak CTRL+E yapınca diğerlerini düzgün şekilde ayırdı.

Alternatif olarak aşağıdaki KTF'yi de kullanabilirsiniz.

Kodu boş bir modüle kopyaladıktan sonra B2 hücresine =Get_Numbers(A2) yazarak sonuca gidebilirsiniz.

C++:
Option Explicit

Function Get_Numbers(My_Rng As Range) As Double
    Application.Volatile True
   
    With VBA.CreateObject("VBScript.RegExp")
        .Pattern = "[^0-9.,]+"
        .Global = True
        If .Test(My_Rng.Value) Then
            Get_Numbers = Replace(Replace(.Replace(My_Rng.Value, ""), ",", ""), ".", ",")
        End If
    End With
End Function



236290
 
Bu da yeni fonksiyonlarla OFİS 365 için alternatif çözüm.

LAMBDA fonksiyonu kullanılmıştır.



236294
 

Ekli dosyalar

Geri
Üst