Note: The other languages of the website are Google-translated. Back to English

 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:


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • 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!
officetab bund
Sorter kommentarer efter
Kommentarer (1)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Dette ville være fantastisk, hvis kun makroen udelukkede den del af brodden i CAPS, ikke hele cellen fra undtagelseslisten.
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL