• DİKKAT

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

Adı Soyadı Büyük Küçük Harfe Dönüştürme

Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Arkadaşlar EK'teki çalışmada C sütunundaki tamamı büyük olan isimleri isimleri küçük soy isimlerin büyük olmasını sağlayan bir kod mevcut. Ben bunları F2 yaparak tek tek düzeltmektense, C sütunun tamamını tek seferde nasıl düzeltebilirim hususunda yardımlarınızı rica ediyorum.
 

Ekli dosyalar

Buyurun.:cool:
Kod:
Sub soyad59()
    Dim VERİ() As String, X As Byte, İSİM As String, i As Long, sonsat As Long
    Dim deg As String
 sonsat = Cells(Rows.Count, "C").End(xlUp).Row
    On Error Resume Next
    For i = 1 To sonsat - 1
        deg = WorksheetFunction.Proper(Cells(i, "C").Value)
        VERİ = Split(deg, " ")
        For X = 0 To UBound(VERİ) - 1
            İSİM = IIf(İSİM = "", VERİ(X), İSİM & " " & VERİ(X))
        Next
        Cells(i, "C").Value = İSİM & " " & UCase(Replace(Replace(VERİ(UBound(VERİ)), "ı", "I"), "i", "İ"))
        deg = "": İSİM = ""
    Next i
    MsgBox "bitti"
End Sub
 

Ekli dosyalar

Sayın Orion 1 ilginize teşekkür ederim. Butonsuz bir hali varmı ?
 
Sayın Necdet Bey ilginize teşekkür ederim. Çok güzel bir çalışma bir tek benim istediğim format yok ( Sabri Burak YAŞAR).
 
Örneğin sütunun tamamını seçip F2 yaparak veya bir başka şekilde.
 
ctrl + n ile çalışıyor.
Dosya ektedir.
 

Ekli dosyalar

Seçim yapmadan direk ctrl+ n ile çalıştırın.:cool:
 
Kod:
Sub test()
    For i = 1 To 100 'Cells(Rows.Count, 3).End(3).Row
        isim = StrReverse(WorksheetFunction.Proper(Cells(i, 3)))
        bol = Split(isim, " ")
        bol(0) = Evaluate("=upper(""" & bol(0) & """)")
        Cells(i, 4) = StrReverse(Join(bol))
    Next i
End Sub
 
Sayın Orion 1 son cevabınızı EK'teki örnekte olan iki farklı FAB ve İST sayfalarına ekledim. Ctrl+ n yaptığımda farklı bir çalışma sayfası açıyor. Bu hususta yardımlarınızı rica ediyorum.
 

Ekli dosyalar

normal safada iken
alt+F8
Makronun listelendiği yerden uygulayacağınız makroyu seçin.
Sonra Seçeneklere tıklayın.
Oradan Ctrl + yazan yerin sağındaki kutucuğa istediğiniz bir karakter girin.
Tamam a basın.
Sonra çıkan makro penceresini kapatın.işlem tamamdır.
 
Merhaba.
Alternatif olsun (Sayın veyselemre 'nin yöntemi esas alınmıştır)
Kod, sayfa aktif hale geldiğinde C1'den liste sonundaki TOPLAM satırı arasında C sütununnda işlem yapar.
Rich (BB code):
Private Sub Worksheet_Activate()
Dim i As Integer, isim As String, soyad As String
    For i = 1 To Cells(Rows.Count, "B").End(3).Row - 1
        isim = StrReverse(WorksheetFunction.Proper(Cells(i, 3)))
        soyad = Evaluate("=upper(""" & Split(isim, " ")(0) & """)")
        Cells(i, 3) = StrReverse(Replace(isim, Split(isim, " ")(0), soyad))
    Next i
End Sub
 
Sayın Ömer BARAN ilginize teşekkür ederim. Ekran görüntüsünü gönderdiğim hatayı aldım.
 

Ekli dosyalar

  • Ömer BARAN.xlsm
    Ömer BARAN.xlsm
    24.4 KB · Görüntüleme: 6
  • Ekran.jpg
    Ekran.jpg
    57.9 KB · Görüntüleme: 7
Kod'daki For.... satırını aşağıdakilerden biriyle değiştirin.
İlk işlem satırı 4, son işlem satırının tespiti için ise;
-- ilk seçenekte, B sütunundaki en büyük sayı,
-- ikinci seçenekte ise B sütunundaki TOPLAM kelimesinin bulunduğu satırın satır numarası
kullanılıyor.
Rich (BB code):
For i = 4 To WorksheetFunction.Max([B:B])+3
For i = 4 To Cells(Rows.Count, "B").End(3).Row - 1
 
Ömer Bey en son cevabınızı kullanacağım belgede denemeye çalışıyorum. makro çalışıyor ama yine aynı hatayı veriyor.
 

Ekli dosyalar

  • BELGE.xlsm
    BELGE.xlsm
    41.1 KB · Görüntüleme: 10
  • EKRAN.jpg
    EKRAN.jpg
    27.6 KB · Görüntüleme: 3
Geri
Üst