Sadece rakamları almak

Katılım
16 Ekim 2008
Mesajlar
6
Excel Vers. ve Dili
2010 İngilizce
Merhaba arkadaşlar,
Standart formatta olmayan ürün kodlarının sadece rakamlarinı almak istiyorum. Aşağıdaki fonksiyon sayesinde bu oluyor ancak tam olarak problemimi çözmedi.
Örneğin, "A1955TR3", "109265","E0014E3" gibi. bu fonksiyonda şöyle bir problem yaşıyorum; sondaki rakamı da alıyor doğal olarak. Yani kısaca A1955TR3 'ü 19553 olarak yazıyor. Ben ise sadece 1955 yazmasını istiyorum. Önerisi olan var mı?
Şimdiden teşekkürler.

Function sayim(hucre)
Dim i As Integer

For i = 1 To Len(hucre)
sayi = Mid(hucre, i, 1)
If IsNumeric(sayi) = True Then
sayim = sayim & sayi
End If
Next i
End Function
 

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
Sondaki rakamı almaması için bakılacak kriter nedir?
 

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
Aşağıdaki kodu deneyiniz.

Kod:
Function RAKAM(Veri As Range) As String
    Dim X As Long
    
    Application.Volatile True
    
    For X = 1 To Len(Veri)
        If IsNumeric(Mid(Veri, X, 1)) Then
            RAKAM = RAKAM & Mid(Veri, X, 1)
            If Not IsNumeric(Mid(Veri, X + 1, 1)) Then Exit Function
        End If
    Next
End Function
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Alternatif olarak kullanılabilir;
Kod:
[FONT="Trebuchet MS"]Sub Emre()
    Dim Rky As Object, i%
    Set Rky = CreateObject("VBScript.RegExp")
    Rky.Pattern = "[COLOR="Red"]\d+[/COLOR]"
    For i = 1 To Range("A65536").End(3).Row
        Cells(i, "B") = Rky.Execute([COLOR="Red"]CStr([/COLOR]Cells(i, "A")[COLOR="Red"])[/COLOR]).Item(0)
    Next i
    i = Empty: Set Rky = Nothing
End Sub[/FONT]
Not: Verilerinizin A sütununda olduğu varsayılmıştır.
 
Katılım
16 Ekim 2008
Mesajlar
6
Excel Vers. ve Dili
2010 İngilizce
İlginize teşekkürler. Korhan Bey, sizin çözümünüzde sonraki rakam hala yazıyordu ama Murat Bey'in çözümü işimi gördü.
Tekrar teşekkürler.
 

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
Ben verdiğiniz örneklerde olumlu sonuç almıştım. Demek ki sizde daha farklı verilerde var.
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
martime arkadaşımıza, Korhan Ayhan ve Murat Osma üstadlarımıza çok teşekkürler.
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Ben verdiğiniz örneklerde olumlu sonuç almıştım. Demek ki sizde daha farklı verilerde var.
Verilen örneklere göre ben de aynı şekilde olumlu sonuç almıştım.


Sn. martime ve Sn. serdarokan'a...

Selâmlar, saygılar.
 
Üst