Hur konverterar jag textsträng till rätt fall med undantag i Excel?
I Excel kan du använda korrekt funktion för att enkelt konvertera textsträngar till rätt fall, men ibland måste du utesluta några specifika ord när du konverterar textsträngarna till rätt fall enligt följande skärmdump. Den här artikeln kommer jag att prata om några snabba tricks för att lösa detta jobb i Excel.
Konvertera textsträngar till rätt fall med undantag med hjälp av formeln
Konvertera textsträngar till rätt fall med undantag med hjälp av VBA-kod
Konvertera textsträngar till rätt fall med undantag med hjälp av formeln
Kan vara följande formel kan hjälpa dig att hantera den här uppgiften snabbt, gör så här:
Ange denna formel:
= ÖVRE (VÄNSTER (A2)) & MIDDEL (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE ((") & RÄTT (A2) &" "," Of "," of ")," A "," a ")," Is "," is ")," Usa "," USA ")), 2, LEN (A2)) in i en cell där du vill få resultatet, och dra sedan fyllningshandtaget för att fylla denna formel, och textsträngarna har konverterats till rätt fall men specifika undantag, se skärmdump:
Anmärkningar: I ovanstående formel, A2 är den cell du vill konvertera, "Av", "A", "Är", "USA" är de normala ordstäverna efter konvertering, “Av”, “a”, “är”, “USA” är de ord du vill utesluta från rätt fall. Du kan ändra dem efter behov eller lägga till andra ord med SUBSTITUTE-funktionen.
Konvertera textsträngar till rätt fall med undantag med hjälp av VBA-kod
Om ovanstående formel är något svår att förstå och ändra till ditt behov, här kan du också tillämpa en VBA-kod för att slutföra denna uppgift. Gör med följande steg en efter en.
1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.
VBA-kod: konvertera textsträngar till rätt fall med undantag:
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. Tryck sedan på F5 nyckel för att köra den här koden, och en snabbruta visas för att påminna dig om att välja de ursprungliga cellerna du vill konvertera, se skärmdump:
4. Och klicka sedan på OK, välj cellerna där du vill mata ut resultaten i rutan som visas, se skärmdump:
5. Fortsätt klicka OK, och i popup-dialogrutan väljer du texterna du vill utesluta, se skärmdump:
6. Och klicka sedan på OK för att avsluta dialogerna och alla textsträngar har konverterats till rätt fall men exkluderar de angivna orden, se skärmdump:
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!