• DİKKAT

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

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
 
Sondaki rakamı almaması için bakılacak kriter nedir?
 
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
 
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.
 
İ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.
 
Ben verdiğiniz örneklerde olumlu sonuç almıştım. Demek ki sizde daha farklı verilerde var.
 
martime arkadaşımıza, Korhan Ayhan ve Murat Osma üstadlarımıza çok teşekkürler.
 
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.
 
Geri
Üst