Adı 2.Adı Soyadı ayırma

Katılım
13 Kasım 2008
Mesajlar
86
Excel Vers. ve Dili
2010 TR
Adı, 2.adı ve soyadı a1 hücresine birleşik yazıldığında adını c1, 2.adını c2, soyadını c3 hücrelerine yazacak bir kod lazım. sitede var ama hücre olarak değil sütun olarak yapılmış onuda düzenleyemedim yardımcı olabilirmisiniz?

ÖRNEK:

A1: MUSTAFA KEMAL ATATÜRK

C1: MUSTAFA
C2: KEMAL
C3: ATATÜRK
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sadece A1 hücresi için geçerliyse aşağıdaki kodları kullanabilirsiniz.

Kod:
Sub Ayir()
Dim a() As String
Dim i As Integer
a = Split([A1], " ")
For i = 0 To UBound(a)
    Cells(i + 1, "C") = a(i)
Next i
End Sub
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,093
Excel Vers. ve Dili
Excel, 365 - İngilizce
Adı, 2.adı ve soyadı a1 hücresine birleşik yazıldığında adını c1, 2.adını c2, soyadını c3 hücrelerine yazacak bir kod lazım. sitede var ama hücre olarak değil sütun olarak yapılmış onuda düzenleyemedim yardımcı olabilirmisiniz?

ÖRNEK:

A1: MUSTAFA KEMAL ATATÜRK

C1: MUSTAFA
C2: KEMAL
C3: ATATÜRK
Örnek dosya ekte.

.
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
birde tek isimli olanlarda soyadı 2. isim kısmına atıyor onu nasıl yapabiliriz :)
Böyle durumda kodlarda oynama yapmak gerek. Bu kodları da ilgili sayfanın kod bölümünde çalışacak şekilde verelim.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Dim a() As String
Range("C1:C3").ClearContents
a = Split([A1], " ")
If UBound(a) = 0 Then
    [C1] = [A1]
ElseIf UBound(a) > 1 Then
    For i = 0 To UBound(a)
        Cells(i + 1, "C") = a(i)
    Next i
Else
    [C1] = a(0)
    [c3] = a(1)
End If
End Sub
 

Ekli dosyalar

Katılım
20 Mart 2009
Mesajlar
6
Excel Vers. ve Dili
Excel 2002 Türkçe
Merhaba, paylaşım için teşekkürler. Bu kodları nereye yazacağız?
 
Üst