• DİKKAT

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

Ad ve Soyadları Sütunlara Bölmek

Katılım
19 Eylül 2006
Mesajlar
11
Excel Vers. ve Dili
2003 ingilizce
Merhaba arkadaşlar,

Amacım şu; Elimdeki tabloda Evli bayanları Çift Soyisimleri var, ayrıca bazı kişilerin çift isimleri var, evli bayanlardan da çift isim ve çift soyisim kullananlar var. Soyisimler BÜYÜKHARF ile yazılı ve ben isimleri ve soyisimleri ayrı sütunlara bölmek istiyorum.
 

Ekli dosyalar

Öneri için ve bilgilendirme için teşekkür ederim. Ama eğer çözümü direk verirseniz sevinirim. Çok önemli ve çok acil cevap lazım. Tabloma direk çözümü uygulamak istiyorum.
 
Öneri için ve bilgilendirme için teşekkür ederim. Ama eğer çözümü direk verirseniz sevinirim. Çok önemli ve çok acil cevap lazım. Tabloma direk çözümü uygulamak istiyorum.

Araştırma yapman senin için iyi olur.
Ama acil dediğin için ben kod veriyorum.
Araştırarak öğrenmek her zaman faydalıdır.
Hazıra konmak ise Tembelliktir.
Tembel bir milletin geleceği de Karanlık olur.

İyi Günler dilerim.
3 ve daha çok ismlilerde son kelime soyad olarak alınmıştır.

Dosyanız ekte..
 

Ekli dosyalar

Size de teşekkür ederim. Ancak benim aradığım çözüm bu değil. Soyadların hepsi büyük harflerle yazılı ve 2 tane soyadı varsa 2 soyadını birden diğer sütunda yazdırsın. Yani Adlar ve Soyadlar kaç tane olursa olsun; Adların tamamı 1 sütuna; soyadların tamamı da 1 sütuna yazdırılsın...
 
Merhaba
veri sekmesi - metni sütunlara böl özelliğini kullanmanızı öneririm saygılar
 
Merhaba,
Kod:
Sub Ad_Soyad_Ayir()
Columns("b:c").ClearContents
For q = 2 To [a65536].End(3).Row
deg = Split(Trim(Cells(q, 1)), " ")
For x = LBound(deg) To UBound(deg)
If Replace(Right(deg(x), 1), "ı", "i") = Right(UCase(deg(x)), 1) Then
Soyad = Soyad & deg(x) & " "
Else
Ad = Ad & deg(x) & " "
End If
Next
Cells(q, 2) = Trim(Ad)
Cells(q, 3) = Trim(Soyad)
Ad = "": Soyad = ""
Next
MsgBox "Ayırma işlemi tamamlandı.", vbInformation, "Kodlayan: l e u m r u k"
End Sub
 

Ekli dosyalar

Çok çok teşekkür ederim. Beni çok önemli bir sorundan kurtardınız. Bir şey rica edebilir miyim; kodların açıklamalarını da yazar mısınız? Tam olarak neyin ne yaptığını anlarsam makro konusu bende de giderek oturacak ve ben de sizleri çok fazla meşgul etmiyor olacağım.
 
Kodu tek tek açıklamak zor; ama yaptığı işlemi kısaca açıklayayım:
Split koduyla kelimeler ayrılmış oluyor. Sonrasında son harfi büyük olanlar ile küçük olanlarım ayrımı yaptırılarak: soyad ve ad kısımları ilgili yerlere yazdırıldı.
 
Sayın leumruk,

Kodla ilgili bir sıkıntıyı farkettim. Ad ve soyadları sütunlara bölerken Metni Sütunlara bölme özelliğinde olduğu gibi Adları, Ad ve Soyadın birlikte bulunduğu mevcut sütunda bırakmak soyadı da bir sonraki sütuna göndermek istiyorum. Yani kodun yaptığı işlem sadece A sütununda Ad ve Soyadları kabul edip; B ve C sütunlarına bölüyor.

Şimdi sizden ricam. Ad ve Soyad sütunları tabloda nerede olursa olsun. Adlar mevcut sütunda, soyadlarda hemen yanına boş sütun ekleyip, oraya yerleşecek şekilde kodlarda düzenleme yapabilir miyiz?

Ben kod hiç bilmiyorum, öğrenmek için çalışıyorum, geçen seferki çözüm işimi gördü ama bu çözümü de bana sunarsanız çok memnun olurum.

İlginiz için teşekkürler...
 
Kod:
Sub Ad_Soyad_Ayir()
Columns("b:b").ClearContents
For q = 2 To [a65536].End(3).Row
deg = Split(Trim(Cells(q, 1)), " ")
For x = LBound(deg) To UBound(deg)
If Replace(Right(deg(x), 1), "ı", "i") = Right(UCase(deg(x)), 1) Then
Soyad = Soyad & deg(x) & " "
Else
Ad = Ad & deg(x) & " "
End If
Next
Cells(q, 1) = Trim(Ad)
Cells(q, 2) = Trim(Soyad)
Ad = "": Soyad = ""
Next
MsgBox "Ayırma işlemi tamamlandı.", vbInformation, "Kodlayan: l e u m r u k"
End Sub
 
Kod:
Sub Ad_Soyad_Ayir()
Columns("b:b").ClearContents
For q = 2 To [a65536].End(3).Row
deg = Split(Trim(Cells(q, 1)), " ")
For x = LBound(deg) To UBound(deg)
If Replace(Right(deg(x), 1), "ı", "i") = Right(UCase(deg(x)), 1) Then
Soyad = Soyad & deg(x) & " "
Else
Ad = Ad & deg(x) & " "
End If
Next
Cells(q, 1) = Trim(Ad)
Cells(q, 2) = Trim(Soyad)
Ad = "": Soyad = ""
Next
MsgBox "Ayırma işlemi tamamlandı.", vbInformation, "Kodlayan: l e u m r u k"
End Sub

sizden ricam. Ad ve Soyad sütunları tabloda nerede olursa olsun. Adlar mevcut sütunda, soyadlarda hemen yanına boş sütun ekleyip, oraya yerleşecek şekilde kodlarda düzenleme yapabilir miyiz?

Ben kod hiç bilmiyorum, öğrenmek için çalışıyorum, geçen seferki çözüm işimi gördü ama bu çözümü de bana sunarsanız çok memnun olurum.

İlginiz için teşekkürler...
 
sizden ricam. Ad ve Soyad sütunları tabloda nerede olursa olsun. Adlar mevcut sütunda, soyadlarda hemen yanına boş sütun ekleyip, oraya yerleşecek şekilde kodlarda düzenleme yapabilir miyiz?

Ben kod hiç bilmiyorum, öğrenmek için çalışıyorum, geçen seferki çözüm işimi gördü ama bu çözümü de bana sunarsanız çok memnun olurum.

İlginiz için teşekkürler...
Sn. ilkersonmez,
Tabloda yer belirtmeden kodun ad ve soyadı bulması düşünülemez. Ancak koda tanımlayabileceğimiz değişmeyen bir takım verilerin olması, ad ve soyadın tablodaki verilerden farklı bir özelliğinin olması ya da ad ve soyadın bulunduğu sütunun bir başlığının olması gibi durumlarda istediğiniz olabilir.
Bunun olup olamayacağı konusunda son sözü söyleyebilmem için tablonuzu gerçek şekliyle görmem lazım.
 
Ad ve soyadlarla ilgili o kadar çok paylaşım var ama aradığım asıl bilgiye ulaşamadım.
Bu konuda en önemli nokta bence ad ve soyadın ayırımı esnasında adın sadece baş harfi büyük olup soyadın hepsi büyük olmasıyla ilgili iken bu konuda kimse ne soru nede cevap yazmış, bu sorun aşağıdaki formulle çözülebilir ancak iki isim yada daha çok isim halinde sadece soyadı büyük harf olmasını sağlamayı bir türlü beceremedim. Varsa yardım edebilecek arkadaşlardan yardım istiyorum.SAYGILAR.

=YAZIM.DÜZENİ(SOLDAN(A1,BUL(" ",A1)-1))&" "&BÜYÜKHARF(SAĞDAN(A1,UZUNLUK(A1)-BUL(" ",A1)))
 
Sayın leumruk çok teşekkürler. Emeğinize sağlık, sağlıcakla kalın.
 
Geri
Üst