Note: The other languages of the website are Google-translated. Back to English
Inloggen  \/ 
x
or
x
Registreer  \/ 
x

or

 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:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad 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 elke dag honderden muisklikken voor u!
officetab onderkant
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Nathan · 2 years ago
    This would be amazing if only the Macro excluded the part of the sting in CAPS not the entire cell from the exceptions list.