• DİKKAT

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

Metin içerisindeki rakamları almak

Katılım
28 Ocak 2010
Mesajlar
92
Excel Vers. ve Dili
Office 2003
Office 2007
Merhaba,

Bir metinin içerisinde farklı yerlerde rakam yazmakta bu rakamları yandaki hücreye almak için her hücreye tek tek parçal fonksiyon'unu kulalnıyorum bunu kısa bir yolu varmıdır.
teşekkürler.
 

Ekli dosyalar

Selamlar,

Ekteki örnek dosyayı incelermisiniz. Bazı verilerde hatalı sonuç vermektedir. Bunları elle düzeltmeniz gerekmektedir.

Kullanıcı Tanımlı Fonksiyon;

Kod:
Option Explicit
 
Function RAKAM_HARF_AYIR(Kriter As String, Optional Karakter As Byte = 1)
    With CreateObject("vbscript.regexp")
        .Pattern = IIf(Karakter = 1, "[^\d]", "\d")
        .Global = True
        If Karakter = 1 Then
        RAKAM_HARF_AYIR = .Replace(Kriter, "") * 1
        Else
        RAKAM_HARF_AYIR = .Replace(Kriter, "")
        End If
    End With
End Function
 

Ekli dosyalar

Alternatif

Eğer hep bu düzende ise

=ARA(9,99999999999999E+307;--SOLDAN(DEĞİŞTİR(B2;1;MİN(MBUL({0;1;2;3;4;5;6;7;8;9};B2&"0123456789"))-1;"");SATIR($A$1:$A$1024)))

yazıp aşağı doğru çekiniz.

.
 
alternatif kod

Function SAYILARIBUL(hucre)
' HÜCRENİN İÇİNDEKİ SAYI DEĞERLERİNİ VERİYOR
Dim i As Integer
For i = 1 To Len(hucre)
Sayi = Mid(hucre, i, 1)
If IsNumeric(Sayi) = True Then
SAYILARIBUL = SAYILARIBUL & Sayi
End If
SAYILARIBUL = SAYILARIBUL * 1
Next i
End Function



Function RAKAMLARIBUL(hucre)
' HÜCRENİN İÇİNDEKİ SAYI OLMAYAN DEĞERLERİ VERİYOR
Dim i As Integer
For i = 1 To Len(hucre)
Sayi = Mid(hucre, i, 1)
If IsNumeric(Sayi) <> True Then
RAKAMLARIBUL = RAKAMLARIBUL & Sayi
End If
Next i
End Function
 
Herkese kolay gelsin..
Ben bu kodları kendi dosyama kod`ları eklediğimde kaydetemiyorum.Yardımcı olursanız sevinirim.
 
Ali Bey Merhabalar,

Koddaki satır kısmının fonksiyonu nedir? 1 ile 1024 rakamının özel bi anlamı var mıdır?



Alternatif

Eğer hep bu düzende ise

=ARA(9,99999999999999E+307;--SOLDAN(DEĞİŞTİR(B2;1;MİN(MBUL({0;1;2;3;4;5;6;7;8;9};B2&"0123456789"))-1;"");SATIR($A$1:$A$1024)))

yazıp aşağı doğru çekiniz.

.
 
Tamam Ali Bey,
Sayı basamağını simgeliyormuş buldum.
 
Geri
Üst