• DİKKAT

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

Ad ve Soyadı ayırmak

  • Konbuyu başlatan Konbuyu başlatan Mikdad
  • Başlangıç tarihi Başlangıç tarihi
Böyle durumlarda Regular Expressions (Düzenli ifadeler) izlenebilecek en iyi yoldur.

Aşağıda bir test ekledim.

Kod:
Sub test()
    Dim arr(1 To 4), reg As Object, colReg As Object, i As Integer
    
    arr(1) = "Emine YALÇIN -(AKSOY)"
    arr(2) = "Zeki  GÜRSOY"
    arr(3) = "Hüseyin"
    arr(4) = "Levent / Menteşoğlu"
    
    Set reg = CreateObject("VBScript.RegExp")
    
    reg.Global = True
    reg.Pattern = "[a-zA-ZIğĞüÜşŞİöÖçÇ]+([a-zA-ZIğĞüÜşŞİöÖçÇ]+)?"
    
    For i = 1 To 4
    
        Set colReg = reg.Execute(arr(i))
        
        Select Case colReg.Count
            Case 0
                Debug.Print "["; arr(i); "]"
                Debug.Print ">>> Ad/Soyad bulunamadı <<<"
                Debug.Print ""
            Case 1
                Debug.Print "["; arr(i); "]"
                Debug.Print "Adı : "; colReg(0)
                Debug.Print ""
            Case 2
                Debug.Print "["; arr(i); "]"
                Debug.Print "Adı : "; colReg(0); " -> Soyadı : "; colReg(1)
                Debug.Print ""
            Case 3
                Debug.Print "["; arr(i); "]"
                If colReg(i).submatches.Count = 0 Then
                    Debug.Print "Adı : "; colReg(0); " -> İkinci Adı : "; colReg(1); " -> Soyadı : "; colReg(2)
                Else
                    Debug.Print "Adı : "; colReg(0); " -> Soyadı : "; colReg(1); " -> İkinci Soyadı : "; colReg(2)
                End If
                Debug.Print ""
            Case Else
                Debug.Print "["; arr(i); "]"
                Debug.Print ">>> Tutarsız Ad/Soyad metni <<<"
                Debug.Print ""
        End Select
        
    Next
    
End Sub
 
Emekleri geçen herkese teşekkürler, Yener bey bu eklediğiniz test kodları nereye nasıl ekleyeceğiz? Cahiiliğime bağışlayın, Kodları bir butona atadım ancak işlem yaptıramadım:(
 
Arkadaşlar yardımlarınız için Teşekkürler,
Kodlarla bu ad soyad ayırma işlemi ile beraber;

Veriler, personel girişi ve banka sayfalarım mevcut.

Banka sayfasındaki b14 = personel girişi g16 dan
Banka sayfasındaki c14 = personel girişi h16 dan
Banka sayfasındaki d14 = personel girişi ı16 dan
Banka sayfasındaki h14 = personel girişi q16 dan başlayarak son dolu satıra kadar kopyalamak,

Banka sayfasındaki son dolu satıra kadar (formülle ifade edecek olursak) veriler sayfasındaki H3&" "&J3&" "&"Maaşı" yazdırmak istiyorum.

Yardımcı olursanız sevinirim.
 
Arkadaşlar yardımlarınız için Teşekkürler,
Kodlarla bu ad soyad ayırma işlemi ile beraber;

Veriler, personel girişi ve banka sayfalarım mevcut.

Banka sayfasındaki b14 = personel girişi g16 dan
Banka sayfasındaki c14 = personel girişi h16 dan
Banka sayfasındaki d14 = personel girişi ı16 dan
Banka sayfasındaki h14 = personel girişi q16 dan başlayarak son dolu satıra kadar kopyalamak,

Banka sayfasındaki son dolu satıra kadar (formülle ifade edecek olursak) veriler sayfasındaki H3&" "&J3&" "&"Maaşı" yazdırmak istiyorum.

Yardımcı olursanız sevinirim.

Kodlardan hiç anlamadığım için sabahtan beri başımın belası oldu. Yardımcı olacak arkadaş yok mu?
 
Geri
Üst