Excel'de istisnalarla birlikte metin dizisini büyük/küçük harfe nasıl dönüştürürüm?
Excel'de, metin dizilerini kolayca büyük/küçük harfe dönüştürmek için Proper fonksiyonunu kullanabilirsiniz. Ancak bazen, aşağıdaki ekran görüntüsünde gösterildiği gibi, metin dizilerini büyük/küçük harfe dönüştürürken bazı belirli kelimeleri hariç tutmanız gerekebilir. Bu makalede, Excel'de bu görevi çözmek için bazı hızlı ipuçlarından bahsedeceğim.
İstisnalar içeren formül kullanarak metin dizilerini büyük/küçük harfe dönüştürme
VBA kodu kullanarak istisnalarla birlikte metin dizilerini büyük/küçük harfe dönüştürme
İstisnalar içeren formül kullanarak metin dizilerini büyük/küçük harfe dönüştürme
Aşağıdaki formül, bu görevle hızlı bir şekilde başa çıkmak için size yardımcı olabilir, lütfen şu adımları izleyin:
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)) Sonuç almak istediğiniz hücreye yazın ve ardından formülü doldurmak için doldurma sapmasını sürükleyin ve metin dizileri belirli istisnalar dışında büyük/küçük harfe dönüştürülmüştür, aşağıdaki 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ürdükten sonra normal büyük/küçük harfli kelimelerdir, “of ”, “a”, “is”, “USA” ise büyük/küçük harften hariç tutmak istediğiniz kelimelerdir. Bunları ihtiyaçlarınıza göre değiştirebilir veya SUBSTITUTE fonksiyonuyla başka kelimeler ekleyebilirsiniz.
VBA kodu kullanarak istisnalarla birlikte metin dizilerini büyük/küçük harfe dönüştürme
Yukarıdaki formülün anlaşılması ve ihtiyaçlarınıza göre değiştirilmesi biraz zor geliyorsa, burada bu görevi tamamlamak için bir VBA kodu da uygulayabilirsiniz. Lütfen aşağıdaki adımları birer birer uygulayın.
1. Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarına basın.
2. Ekle Ekle > Modül'e tıklayın ve aşağıdaki kodu Modül Penceresine yapıştırın.
VBA kodu: istisnalarla birlikte metin dizilerini büyük/küçük harfe 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 ve seçmek istediğiniz orijinal hücreleri hatırlatmak için bir uyarı kutusu açılır, aşağıdaki ekran görüntüsüne bakın:
4. Ardından Tamam'a tıklayın, sonuçları çıkarmak istediğiniz hücreleri açılan kutudan seçin, aşağıdaki ekran görüntüsüne bakın:
5. Devam edin ve Tamam'a tıklayın, ardından açılır iletişim kutusunda hariç tutmak istediğiniz metinleri seçin, aşağıdaki ekran görüntüsüne bakın:
6. Ve ardından diyalogları kapatmak için Tamam'a tıklayın ve tüm metin dizileri belirtilen kelimeler hariç olmak üzere büyük/küçük harfe dönüştürülmüştür, aşağıdaki ekran görüntüsüne bakın:
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!