- Katılım
- 28 Ocak 2009
- Mesajlar
- 160
- Excel Vers. ve Dili
- Excel 20003
Aynı Hücredeki ad ve soyadları ayırmam gerekli aralarında boşluk yok ama soyadı Büyük harfle yazılı nasıl yapabilirim
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Tamam cözdüm arkadaşlar pencereden yapabiliyoruz
Siz bunu da çözersiniz ama kimseye söylemezsiniz. Bu da pencereden oluyor, araştırın bakalımBir sorum daha olacak sizce kolay olabilir ama ben bilmiyorum bu konularda acemiyim ama exceli çok sevdim yeni bir şeyler öğrenmek hoşuma gidiyor.
Ana başlık yada şöyle deyim Mesala Adı,Soyadı,Mahallesi Vs gibi satırların altına yazdığımızda belli satırdan sonra bu hücreleri göremiyoruz oysa ilk girilen hücre gibi görülmesi mümkündür heralde yani ana başlık 100 . satır hatta 3000 satırda gözükmesini istiyorum
Option Explicit
Sub SoyadAyir()
Dim i As Long
Dim j As Integer, Kacinci As Integer
Sheets("Sayfa1").Select
Application.ScreenUpdating = False
Range("B2:C65000").Clear
For i = 2 To [A65536].End(3).Row
Kacinci = 0
For j = 1 To Len(Cells(i, "A"))
If (Mid(Cells(i, "A"), j, 1) >= "A" And Mid(Cells(i, "A"), j, 1) <= "Z") Or _
Mid(Cells(i, "A"), j, 1) = "Ç" Or _
Mid(Cells(i, "A"), j, 1) = "Ğ" Or _
Mid(Cells(i, "A"), j, 1) = "İ" Or _
Mid(Cells(i, "A"), j, 1) = "Ö" Or _
Mid(Cells(i, "A"), j, 1) = "Ş" Or _
Mid(Cells(i, "A"), j, 1) = "Ü" Then
Kacinci = j
Exit For
End If
Next j
If Kacinci > 0 Then
Cells(i, "B") = Left(Cells(i, "A"), Kacinci - 1)
Cells(i, "C") = Right(Cells(i, "A"), Len(Cells(i, "A")) - Kacinci + 1)
End If
Next i
Application.ScreenUpdating = True
MsgBox "Ad ve Soyadları Ayırdım.....", vbOKOnly, "[URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
End Sub
Hocam anımsadığınız şey başınıza gelmiş sanırımSorunuz bana başka Ad ve Soyadı ayırdıktan sonra Adını da Yazım düzenine çevirmeyi anımsattı. Onu da yapmak gerekirdi.
Teşekürler çok güzel olmuş elinize sağlık İsimlerin baş harfi büyük ne yapmam gerekli
Teşekürler çok güzel olmuş elinize sağlık İsimlerin baş harfi büyük ne yapmam gerekli
Her iki isteği tek dosyada yapalım o zaman, parametrik olsun.Necdet hocam merhaba,
Müsadenizle arşive aldım Bide bu yaptığınızın tersini yapsanız çok güzel olur.
NECDETyeşertener 'i Necdet YEŞERTENER yapmak gibi.
Hocam maksat arşivde dursun
Option Explicit
Sub AdSoyadAyir()
Dim i As Long
Dim j As Integer, Kacinci As Integer, Kontrol As Integer
Sheets("Sayfa1").Select
Kontrol = Application.InputBox("Ad Küçük Harf İse = 1, Soyad Küçük Harf İse = 2", "Tip Belirleme", 1, Type:=1)
If Kontrol = 0 Or Kontrol > 2 Then Exit Sub
Application.ScreenUpdating = False
Range("B2:C65000").Clear
For i = 2 To [A65536].End(3).Row
Kacinci = 0
For j = 1 To Len(Cells(i, "A"))
If Kontrol = 1 Then
If (Mid(Cells(i, "A"), j, 1) >= "A" And Mid(Cells(i, "A"), j, 1) <= "Z") Or _
Mid(Cells(i, "A"), j, 1) = "Ç" Or _
Mid(Cells(i, "A"), j, 1) = "Ğ" Or _
Mid(Cells(i, "A"), j, 1) = "İ" Or _
Mid(Cells(i, "A"), j, 1) = "Ö" Or _
Mid(Cells(i, "A"), j, 1) = "Ş" Or _
Mid(Cells(i, "A"), j, 1) = "Ü" Then
Kacinci = j
Exit For
End If
Else
If (Mid(Cells(i, "A"), j, 1) >= "a" And Mid(Cells(i, "A"), j, 1) <= "z") Or _
Mid(Cells(i, "A"), j, 1) = "ç" Or _
Mid(Cells(i, "A"), j, 1) = "ğ" Or _
Mid(Cells(i, "A"), j, 1) = "ı" Or _
Mid(Cells(i, "A"), j, 1) = "ö" Or _
Mid(Cells(i, "A"), j, 1) = "ş" Or _
Mid(Cells(i, "A"), j, 1) = "Ü" Then
Kacinci = j
Exit For
End If
End If
Next j
If Kacinci > 0 Then
Cells(i, "B") = YazimDuzeniHarf(Left(Cells(i, "A"), Kacinci - 1))
Cells(i, "C") = BuyukHarf(Right(Cells(i, "A"), Len(Cells(i, "A")) - Kacinci + 1))
End If
Next i
Application.ScreenUpdating = True
MsgBox "Ad ve Soyadları Ayırdım.....", vbOKOnly, "[URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
End Sub
Function BuyukHarf(Veri As String)
BuyukHarf = UCase(Replace(Replace(Veri, "i", "İ"), "ı", "I"))
End Function
Function YazimDuzeniHarf(Veri As String)
YazimDuzeniHarf = Application.WorksheetFunction.Proper(Veri)
End Function