Ga naar hoofdinhoud

 Hoe tekstreeks naar het juiste geval te converteren met uitzonderingen in Excel?

In Excel kunt u de Proper-functie toepassen om tekstreeksen gemakkelijk naar het juiste hoofdlettergebruik te converteren, maar soms moet u enkele specifieke woorden uitsluiten bij het converteren van de tekstreeksen naar het juiste hoofdlettergebruik, zoals in het onderstaande screenshot. In dit artikel zal ik het hebben over enkele snelle trucs om deze taak in Excel op te lossen.

Converteer tekstreeksen naar het juiste hoofdlettergebruik met uitzonderingen door de formule te gebruiken

Converteer tekstreeksen naar het juiste hoofdlettergebruik met uitzonderingen door VBA-code te gebruiken


Converteer tekstreeksen naar het juiste hoofdlettergebruik met uitzonderingen door de formule te gebruiken

Mogelijk kan de volgende formule u helpen om deze taak snel uit te voeren, doe dit als volgt:

Voer deze formule in:

= BOVEN (LINKS (A2)) & MIDDEN (TRIM (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE (SUBSTITUTE ("" & PROPER (A2) & "", "Of", "of"), "A", "a"), "Is "," is ")," Usa "," USA ")), 2, LEN (A2)) naar een cel waar u het resultaat wilt krijgen en sleep vervolgens de vulgreep om deze formule te vullen, en de tekstreeksen zijn geconverteerd naar de juiste hoofdletters, maar specifieke uitzonderingen, zie screenshot:

Opmerking:: In de bovenstaande formule, A2 is de cel die u wilt converteren, "Of", "A", "Is", "Usa" zijn de normale juiste hoofdletterwoorden na het converteren, "Van", "a", "is", "VS" zijn de woorden die u wilt uitsluiten van de juiste hoofdlettergebruik. U kunt ze naar wens wijzigen of andere woorden toevoegen met de functie SUBSTITUTE.


Converteer tekstreeksen naar het juiste hoofdlettergebruik met uitzonderingen door VBA-code te gebruiken

Als de bovenstaande formule enigszins moeilijk te begrijpen is en aan uw behoefte verandert, kunt u hier ook een VBA-code toepassen om deze taak te voltooien. Voer de volgende stappen een voor een uit.

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: converteer tekstreeksen naar het juiste geval met uitzonderingen:

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. Druk vervolgens op F5 sleutel om deze code uit te voeren, en er verschijnt een promptvenster om u eraan te herinneren de originele cellen te selecteren die u wilt converteren, zie screenshot:

4. En klik vervolgens op OK, selecteer de cellen waar u de resultaten wilt uitvoeren in het uitgeklapte vak, zie screenshot:

5. Ga door met klikken OK, en selecteer in het pop-upvenster de teksten die u wilt uitsluiten, zie screenshot:

6. En klik vervolgens op OK om de dialoogvensters te verlaten en alle tekstreeksen zijn geconverteerd naar het juiste hoofdlettergebruik, maar sluit de opgegeven woorden uit, zie screenshot:

Beste Office-productiviteitstools

Populaire functies: Zoek, markeer of identificeer duplicaten   |  Verwijder lege rijen   |  Combineer kolommen of cellen zonder gegevens te verliezen   |   Ronde zonder formule ...
Super opzoeken: Meerdere criteria VLookup    VLookup met meerdere waarden  |   VOpzoeken over meerdere bladen   |   Fuzzy opzoeken ....
Geavanceerde vervolgkeuzelijst: Maak snel een vervolgkeuzelijst   |  Afhankelijke vervolgkeuzelijst   |  Multi-select vervolgkeuzelijst ....
Kolom Beheerder: Voeg een specifiek aantal kolommen toe  |  Kolommen verplaatsen  |  Schakel de zichtbaarheidsstatus van verborgen kolommen in  |  Vergelijk bereiken en kolommen ...
Uitgelichte functies: Raster focus   |  Ontwerpweergave   |   Grote formulebalk    Werkmap- en bladbeheer   |  resource Library (Auto-tekst)   |  Datumkiezer   |  Combineer werkbladen   |  Cellen coderen/decoderen    Stuur e-mails per lijst   |  Super filter   |   Speciaal filter (filter vet/cursief/doorhalen...) ...
Top 15 gereedschapsets12 Tekst Tools (toe te voegen tekst, Tekens verwijderen, ...)   |   50+ tabel Types (Gantt Chart, ...)   |   40+ Praktisch Formules (Bereken leeftijd op basis van verjaardag, ...)   |   19 Invoeging Tools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...)   |   12 Camper ombouw Tools (Getallen naar woorden, Currency Conversion, ...)   |   7 Samenvoegen en splitsen Tools (Geavanceerd Combineer rijen, Gespleten cellen, ...)   |   ... en meer

Geef uw Excel-vaardigheden een boost met Kutools for Excelen ervaar efficiëntie als nooit tevoren. Kutools for Excel Biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen.  Klik hier om de functie te krijgen die u het meest nodig heeft...

kte tabblad 201905


Office Tab Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This would be amazing if only the Macro excluded the part of the sting in CAPS not the entire cell from the exceptions list.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations