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

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,245
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
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.

.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,798
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
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
 
Katılım
28 Ocak 2010
Mesajlar
92
Excel Vers. ve Dili
Office 2003
Office 2007
Tüm hepsini denedim çok güzel olmuşlar.

Teşekkürler.
 
Katılım
16 Ocak 2010
Mesajlar
8
Excel Vers. ve Dili
office 2007
Herkese kolay gelsin..
Ben bu kodları kendi dosyama kod`ları eklediğimde kaydetemiyorum.Yardımcı olursanız sevinirim.
 
Katılım
26 Nisan 2010
Mesajlar
26
Excel Vers. ve Dili
Excel 2010 Türkçe versiyonu
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.

.
 
Katılım
26 Nisan 2010
Mesajlar
26
Excel Vers. ve Dili
Excel 2010 Türkçe versiyonu
Tamam Ali Bey,
Sayı basamağını simgeliyormuş buldum.
 
Üst