SAĞDAN BOŞLUĞA KADAR VERİ AL

Katılım
21 Kasım 2016
Mesajlar
43
Excel Vers. ve Dili
OFİS 365 TR
Altın Üyelik Bitiş Tarihi
14-12-2021
arkadaşlar elimde isim soyisim listesi var metini sutuna çevirdiğimde çok eziyet çekiyorum. üç dört isimli kişiler var sadece soyadlarını sağdan boşluğa kadar ayırmak istiyorum. bi formül yada makro bilen varmı acaba sitede aradım bulamadım.
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Ad ve Soyadların A2 hücresinden başladığı varsayılmıştır.B2 hücresine kopyalayınız aşağı çekerek çoğlatınız.Soyadları alır.
Kod:
=PARÇAAL(A2;1+BUL("*";YERİNEKOY(A2;" ";"*";UZUNLUK(A2)-UZUNLUK(YERİNEKOY(A2;" ";""))));255)
 
Katılım
21 Kasım 2016
Mesajlar
43
Excel Vers. ve Dili
OFİS 365 TR
Altın Üyelik Bitiş Tarihi
14-12-2021
çok güzel oldu :) evdeki hesap çarşıya uymadı A sütünün da soyadı kaldı :) "murat karaca karaca" oldu. makro var mıdır sadece sağdan soyadı ayıran.
 
Katılım
10 Ekim 2013
Mesajlar
424
Excel Vers. ve Dili
Excel 2013 (64bit) - Türkçe
Altın Üyelik Bitiş Tarihi
26/05/2022
Birkaç deneme yapabilmek için örnek dosya yüklemenizi rica ederim. dosya.tc gibi bir siteye yükleme yapabilrsiniz.
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Sayfa1,A2 hücresinden itibaren ad soyad yazılı ise, A2 de ad B2 soyad oluşur.Deneyiniz.
Kod:
Sub Adsoyad()
Dim s1 As Worksheet
Dim i As Integer
Dim cevap As Integer
Set s1 = Sheets("Sayfa1")
say = s1.Cells(65336, "A").End(3).Row
tek = WorksheetFunction.CountA(s1.Range("B2:B1000"))
If tek > 0 Then
cevap = MsgBox("İşlem yapılmış,tekrar işlem yapılsını istiyor musunuz?", vbYesNo + vbQuestion, "ONAY")
End If
If cevap = vbNo Then
    MsgBox "İşleminiz iptal edilmiştir."
 Exit Sub
Else
s1.Range("B2:B" & say).ClearContents
For i = 2 To say
son = Len(s1.Range("A" & i)) - Len(WorksheetFunction.Substitute(s1.Range("A" & i), " ", ""))
If son = 0 Then GoTo 10
yeni = WorksheetFunction.Substitute(s1.Range("A" & i), " ", ",", son)
Ads = Split(yeni, ",")
s1.Cells(i, 2) = Ads(1)
s1.Cells(i, 1) = Ads(0)
10:
Next i
End If
End Sub
 
Son düzenleme:
Katılım
21 Kasım 2016
Mesajlar
43
Excel Vers. ve Dili
OFİS 365 TR
Altın Üyelik Bitiş Tarihi
14-12-2021
ellerinize sağlık çok güzel oldu :)
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
ellerinize sağlık çok güzel oldu :)
Dönüş yaptığınız için teşekkür ederim.Tekrar, tekrar işlem yapmamak için.Soru mesajı ekleyerek kodu yeniledim.Kolay gelsin.
 
Üst