Hoe converteert u een tekstreeks naar ‘Eerste letter in hoofdletters’ in Excel, met uitzonderingen?
In Excel kunt u de functie Hoofdletters gebruiken om tekstreeksen eenvoudig te converteren naar ‘Eerste letter in hoofdletters’, maar soms wilt u bepaalde woorden uitsluiten bij deze conversie, zoals in de onderstaande schermafbeelding wordt weergegeven. In dit artikel bespreek ik enkele snelle trucs om deze taak in Excel vlot op te lossen.

Converteer tekstreeksen naar Eerste letter in hoofdletters met uitzonderingen met behulp van een formule
De volgende formule kan u snel helpen bij deze taak. Volg deze stappen:
Voer deze formule in:
=UPPER(LEFT(A2))&MID(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(„ "&PROPER(A2)&" "," Of "," of ")," A "," a "),"Is "," is ")," Usa ",„ USA ")),2,LEN(A2)) in een cel waar u het resultaat wilt verkrijgen en sleep vervolgens de vulgreep om de formule te kopiëren. De tekstreeksen zijn nu geconverteerd naar hoofdletters aan het begin van elk woord, met uitzondering van de opgegeven woorden. Zie de schermafbeelding:

Opmerking: In de bovenstaande formule is A2 de cel die u wilt converteren, „of”, „a”, „is”, „usa” de woorden die na conversie met een kleine letter moeten beginnen, en „Of”, „A”, „Is”, „USA” de woorden die u wilt uitsluiten bij het toepassen van hoofdletters op het eerste teken. U kunt ze naar wens aanpassen of extra woorden toevoegen met de FUNCTIE.VERVANGEN.
Converteer tekstreeksen naar Eerste letter in hoofdletters met uitzonderingen met behulp van VBA-code
Als u de bovenstaande formule lastig vindt om te begrijpen of aan te passen, kunt u ook gebruikmaken van een VBA-code om deze taak uit te voeren. Volg hiervoor de onderstaande stappen één voor één.
1. Houd de toetsen ALT + F11 ingedrukt om het venster Microsoft Visual Basic for Applications te openen.
2. Klik op Invoegen > Module en plak de volgende code in het Modulevenster.
VBA-code: converteer tekstreeksen naar Eerste letter in hoofdletters 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 om deze code uit te voeren. Er verschijnt een dialoogvenster waarin u wordt gevraagd de oorspronkelijke cellen te selecteren die u wilt converteren. Zie de schermafbeelding:

4. Klik daarna op OK en selecteer in het verschijnende venster de cellen waarin u de resultaten wilt plaatsen. Zie de schermafbeelding:

5. Klik opnieuw op OK en selecteer in het pop-updialoogvenster de woorden die u wilt uitsluiten. Zie de schermafbeelding:

6. Klik vervolgens op OK om de dialoogvensters te sluiten. Alle tekstreeksen zijn nu geconverteerd naar hoofdletters bij het eerste woord, met uitzondering van de opgegeven woorden. Zie de schermafbeelding:

Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins