Hvordan konverteres tekststreng til korrekt sag med undtagelser i Excel?
I Excel kan du anvende den korrekte funktion til let at konvertere tekststrenge til korrekt sag, men nogle gange er du nødt til at ekskludere nogle specifikke ord, når du konverterer tekststrengene til den korrekte sag som vist på nedenstående skærmbillede. Denne artikel vil jeg tale om nogle hurtige tricks til at løse dette job i Excel.
Konverter tekststrenge til korrekt bogstav med undtagelser ved hjælp af formlen
Konverter tekststrenge til korrekt sag med undtagelser ved hjælp af VBA-kode
Konverter tekststrenge til korrekt bogstav med undtagelser ved hjælp af formlen
Kan være følgende formel, der kan hjælpe dig med at håndtere denne opgave hurtigt, skal du gøre som dette:
Indtast denne formel:
= ØVERSTE (VENSTRE (A2)) & MIDDEL (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTUTE ("" & PROPER (A2) & "", "Of", "of"), "A", "a"), "Is "," is ")," Usa "," USA ")), 2, LEN (A2)) ind i en celle, hvor du vil få resultatet, og træk derefter fyldhåndtaget for at udfylde denne formel, og tekststrengene er blevet konverteret korrekt, men specifikke undtagelser, se skærmbillede:
Bemærk: I ovenstående formel A2 er den celle, du vil konvertere, "Af", "A", "Er", "USA" er de normale ord, der er rigtige efter konvertering, “Af”, “a”, “er”, “USA” er de ord, du vil udelukke fra den rigtige sag. Du kan ændre dem til dit behov eller tilføje andre ord med SUBSTITUTE-funktionen.
Konverter tekststrenge til korrekt sag med undtagelser ved hjælp af VBA-kode
Hvis ovenstående formel er noget vanskelig at forstå og ændre til dit behov, kan du her også anvende en VBA-kode for at afslutte denne opgave. Benyt følgende trin en efter en.
1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.
2. Klik indsatte > Moduler, og indsæt følgende kode i Modul vindue.
VBA-kode: konverter tekststrenge til den korrekte sag med undtagelser:
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. Tryk derefter på F5 nøgle til at køre denne kode, og der vises en hurtigboks for at minde dig om at vælge de originale celler, du vil konvertere, se skærmbillede:
4. Og klik derefter på OK, vælg de celler, hvor du vil output resultaterne i det poppede felt, se skærmbillede:
5. Gå på klik OK, og i popup-dialogboksen skal du vælge de tekster, du vil ekskludere, se skærmbillede:
6. Og klik derefter på OK for at afslutte dialogerne, og alle tekststrengene er konverteret til den korrekte sag, men ekskluderer de angivne ord, se skærmbillede:
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools for Excel, og oplev effektivitet som aldrig før. Kutools for Excel Tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Office Tab Giver fanebladsgrænseflade til Office og gør dit arbejde meget nemmere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
