Hücre içinden metin veya sayı almak

Katılım
14 Nisan 2013
Mesajlar
764
Excel Vers. ve Dili
Office Excel 2016 TR
Home & Business
Altın Üyelik Bitiş Tarihi
30.12.2018
Merhabalar,

Örnek dosyada, A sütununda havale ile gelen ödeme notları mevcut. A sütunundaki notlar içerisinden B sütununa Sipariş Numarasını yazmak istiyorum. Sipariş numarası yoksa isimleri ayırıyorum.

Normalde sayıları ayırmak için bazı makrolar mevcut ama metnin içinde başka sayılar da olduğu için karışıyor.

Bu konuda yardımcı olabilir misiniz acaba?
 

Ekli dosyalar

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Bu tarz kodlamalarda bazı sabit şartlar olması gerekiyor.
Aşağıdaki kodlarında doğru sonuç üretmesi için gereken şart:
- (tire) işaretinden sonra sayısal değerler geliyorsa çalışmaya başlar ve sayısısal değerleri alır.

Kod:
Sub kod()
    Application.ScreenUpdating = False
    For i = 1 To Cells(Rows.Count, "A").End(3).Row
        m = Cells(i, "A")
        uz = Len(m)
        For s = 1 To uz
            If Mid(m, s, 1) = "-" Then
                If IsNumeric(Mid(m, s + 1, 1)) = True Then
                    For a = s + 1 To uz
                        mm = Mid(m, a, 1)
                        If IsNumeric(mm) = True Then
                            nu = nu & mm
                        Else
                            Exit For
                        End If
                    Next a
                    Cells(i, "B") = nu
                    nu = Empty
                End If
            End If
        Next s
    Next i
    Application.ScreenUpdating = True
    MsgBox "B i t t i "
End Sub
. . .
 
Katılım
14 Nisan 2013
Mesajlar
764
Excel Vers. ve Dili
Office Excel 2016 TR
Home & Business
Altın Üyelik Bitiş Tarihi
30.12.2018
Merhaba Hüseyin bey,

Havale bilgileri müşterilerin havala yaparken kendi yazdığı açıklamalar, o yüzden kriteri yok. Bankadan bilgiler bu şekilde geliyor, bize de bunu ayırmak düşüyor malesef.

Fakat makro kodu kafi görünüyor, en azından elimizdeki dosyanın %70'ini çözecektir. Geriye kalan %30 ile manuel olarak ilgileneceğim.
Teşekkürler
 
Katılım
14 Nisan 2013
Mesajlar
764
Excel Vers. ve Dili
Office Excel 2016 TR
Home & Business
Altın Üyelik Bitiş Tarihi
30.12.2018
Kriteri; 235 ile başlayan olarak yapabilir miyiz peki? daha sonra ben onu 236 veya 237 olarak takip ederim
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,891
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
Kriteri; 235 ile başlayan olarak yapabilir miyiz peki? daha sonra ben onu 236 veya 237 olarak takip ederim
. . .

Kod:
Sub kod()
    Application.ScreenUpdating = False
    
    kriter = "236"
    
    For i = 1 To Cells(Rows.Count, "A").End(3).Row
        m = Cells(i, "A")
        uz = Len(m)
        
        s = InStr(1, m, kriter)
        If s > 0 Then
            mm = Mid(m, s, uz)
            ss = Split(mm, " ")(0)
            Cells(i, "B") = ss
        End If
        ss = Empty
        
    Next i
    
    Application.ScreenUpdating = True
    MsgBox "B i t t i "
End Sub
. . .
 
Katılım
14 Nisan 2013
Mesajlar
764
Excel Vers. ve Dili
Office Excel 2016 TR
Home & Business
Altın Üyelik Bitiş Tarihi
30.12.2018
Çok teşekkürler Hüseyin bey,
 
Üst