Excel'de metin dizesini istisnalarla birlikte İlk Harf Büyük olarak nasıl dönüştürebilirim?
Excel’de metin dizelerini “İlk Harf Büyük” biçimine dönüştürmek için kolayca PROPER (Baş Harf Büyük) işlevini kullanabilirsiniz; ancak bazen aşağıdaki ekran görüntüsünde gösterildiği gibi, bu dönüşüm sırasında bazı özel kelimeleri dışlamak isteyebilirsiniz. Bu makalede, Excel’de bu görevi gerçekleştirmek için bazı hızlı yöntemleri ele alacağız.

Formül kullanarak metin dizelerini istisnalarla birlikte İlk Harf Büyük dönüştürme
VBA kodu kullanarak metin dizelerini istisnalarla birlikte İlk Harf Büyük dönüştürme
Formül kullanarak metin dizelerini istisnalarla birlikte İlk Harf Büyük dönüştürme
Aşağıdaki formül bu görevi hızlıca halletmenize yardımcı olabilir, lütfen aşağıdaki gibi yapın:
Bu formülü girin:
=UPPER(LEFT(A2))&MID(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(" "&PROPER(A2)&" "," Of "," of ")," A "," a "),"Is "," is ")," Usa "," USA ")),2,LEN(A2)) formülünü sonucu almak istediğiniz hücreye girin ve ardından formülü diğer hücrelere uygulamak için doldurma tutamacını sürükleyin. Böylece metin dizeleri “İlk Harf Büyük” biçimine dönüştürülür, ancak belirli istisnalar hariç tutulur; ayrıntılar için ekran görüntüsüne bakın:

Not: Yukarıdaki formülde, A2, dönüştürmek istediğiniz hücredir; “of ”, “a”, “is”, “usa”, dönüştürmeden sonra normal şekilde ilk harfi büyük olan kelimelerdir; “of ”, “a”, “is”, “USA” ise ilk harfi büyük yapılmaması gereken kelimelerdir. Bunları ihtiyacınıza göre değiştirebilir veya SUBSTITUTE işleviyle başka kelimeler ekleyebilirsiniz.
VBA kodu kullanarak metin dizelerini istisnalarla birlikte İlk Harf Büyük dönüştürme
Yukarıdaki formülü anlamak ve kendi ihtiyacınıza göre özelleştirmek biraz zor geliyorsa, bu görevi yerine getirmek için bir VBA kodu da kullanabilirsiniz. Lütfen aşağıdaki adımları sırayla izleyin.
1. Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarına basılı tutun. Microsoft Visual Basic for Applications penceresi.
2. Ekle > Modül seçeneğine tıklayın ve aşağıdaki kodu Modül Penceresi’ne yapıştırın.
VBA kodu: metin dizelerini istisnalarla birlikte İlk Harf Büyük dönüştürme:
Sub CellsValueChange()
'Updateby Extendoffice
Dim xSRg As Range
Dim xDRg As Range
Dim xPRg As Range
Dim xSRgArea As Range
Dim xRgVal As String
Dim xAddress As String
Dim I As Long
Dim K As Long
Dim KK As Long
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
If xSRg Is Nothing Then Exit Sub
Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
If xDRg Is Nothing Then Exit Sub
Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
If xPRg Is Nothing Then Exit Sub
Set xDRg = xDRg(1)
For I = 1 To xSRg.Areas.Count
Set xSRgArea = xSRg.Areas.Item(I)
For K = 1 To xSRgArea.Count
xRgVal = xSRgArea(K).Value
If Not IsNumeric(xRgVal) Then
xRgVal = CorrectCase(xRgVal, xPRg)
xDRg.Offset(KK).Value = xRgVal
End If
KK = KK + 1
Next
Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
Dim xArrWords As Variant
Dim I As Integer
Dim xPointer As Integer
Dim xVal As String
xPointer = 1
xVal = xRgVal
xArrWords = WordsOf(xRgVal)
For I = 0 To UBound(xArrWords)
xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
Debug.Print xPointer
Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
Next I
CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
Dim xDelimiters As Variant
Dim xArrRtn As Variant
xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
For Each xEachDelimiter In xDelimiters
xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
Next xEachDelimiter
xArrRtn = Split(Trim(xRgVal), " ")
WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
With xERg
If IsError(Application.Match(xArrWord, .Cells, 0)) Then
CorrectCaseOneWord = Application.Proper(xArrWord)
Else
CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
End If
End With
End Function
3. Ardından bu kodu çalıştırmak için F5 tuşuna basın; dönüştürmek istediğiniz orijinal hücreleri seçmenizi hatırlatan bir uyarı kutusu açılacaktır. Ekran görüntüsüne bakın:

4. Daha sonra Tamam düğmesine tıklayın ve açılan kutuda sonuçları çıkarmak istediğiniz hücreleri seçin; ekran görüntüsüne bakın:

5. Ardından, açılan iletişim kutusunda dışlamak istediğiniz metinleri seçin ve Tamam düğmesine tıklamaya devam edin; ekran görüntüsüne bakın:

6. Ardından, iletişim kutularından çıkmak için Tamam düğmesine tıklayın; böylece tüm metin dizeleri İlk Harf Büyük olarak dönüştürüldü, ancak belirtilen kelimeler hariç tutuldu. Ekran görüntüsüne bakın:

En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar