Sayi ve Metinden Olusan Veriyi Filtre Ile Siralamaya Uygun Hale Getirmek

Katılım
22 Ocak 2016
Mesajlar
20
Excel Vers. ve Dili
Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
30-03-2021
Merhaba Arkadaslar

Elimde binlerce hucreden olusan bir excel tablosu var bu tablodaki verilerden yararlanip yeni tablolar olusturmak istiyorum. Bu Sebep ile buradaki bir sutunu filtreleyip kucukten buyuge siralama yaptigimda dogru sirada olmasi icin bir kac degisiklik yapmam sart. Ancak gerekli formulu olusturamadim bir turlu. Orn; olarak asagidaki gibi yapmak istiyorum

Orjinal veri--->Duzenlenmis veri
fr1--->fr001 (metinden sonra gelen sayi tek haneliyse iki adet sifir eklesin)
fr20--->fr020 (metinden sonra gelen sayi iki haneliyse bir adet sifir eklesin
vb001--->vb001 (degisiklik yok)
hhs156--->hhs156 (degisiklik yok)


Saygilarimla
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,402
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Aşağıdaki makro kodunu deneyiniz.
Kod:
Sub kod()
Dim a As Long, b As Byte
Dim s As String, m As String
For a = 1 To Cells(Rows.Count, 1).End(3).Row
    For b = 1 To Len(Cells(a, 1))
        If IsNumeric(Mid(Cells(a, 1), b, 1)) Then
            s = s & Mid(Cells(a, 1), b, 1)
        Else
            m = m & Mid(Cells(a, 1), b, 1)
        End If
    Next
    Cells(a, 2) = m & Format(s, "000")
    s = ""
    m = ""
Next
End Sub
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Alternatif...
PHP:
Sub Test()
    Set reg = CreateObject("VBScript.RegExp")
    reg.Pattern = "\d+"
    
    For i = 1 To Cells(Rows.Count, 1).End(3).Row
        If reg.Test(Cells(i, "a")) Then
            deg = reg.Execute(Cells(i, "a"))(0)
            Cells(i, "b") = reg.Replace(Cells(i, "a"), Format(deg, "000"))
        End If
    Next
End Sub
 
Katılım
22 Ocak 2016
Mesajlar
20
Excel Vers. ve Dili
Excel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
30-03-2021
Üst