Hoe haal je hoofdletters of woorden die beginnen met een hoofdletter uit tekststrings?
Als je een lijst met tekststrings hebt, en je wilt alle hoofdletters of de woorden die beginnen met een hoofdletter uit de cellen halen, hoe zou je dit dan in Excel kunnen oplossen?
Haal hoofdletters uit tekststrings met een door de gebruiker gedefinieerde functie
Haal hoofdletters uit tekststrings met een door de gebruiker gedefinieerde functie
De volgende VBA-code kan je helpen om alleen de hoofdletters uit de cellen te halen. Doe het volgende:
1. Houd de toetsen ALT + F11 ingedrukt om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module, en plak de volgende code in het Modulevenster.
VBA-code: Haal alleen hoofdletters uit tekststrings:
Function ExtractCap(Txt As String) As String
'Updateby Extendoffice
Application.Volatile
Dim xRegEx As Object
Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
xRegEx.Pattern = "[^A-Z]"
xRegEx.Global = True
ExtractCap = xRegEx.Replace(Txt, "")
Set xRegEx = Nothing
End Function
3. Sla de code vervolgens op en sluit deze, ga terug naar het werkblad, voer deze formule in: =EXTRACTCAP(A2) in een lege cel waar je het resultaat wilt tonen, en sleep de vulgreep omlaag naar de cellen waarop je deze formule wilt toepassen. Alle hoofdletters zijn nu tegelijk geëxtraheerd, zie screenshot:
Haal woorden die beginnen met een hoofdletter uit tekststrings met een door de gebruiker gedefinieerde functie
Als je de woorden die beginnen met een hoofdletter uit tekststrings moet extraheren, kan de volgende VBA-code je helpen.
1. Houd de toetsen ALT + F11 ingedrukt om het Microsoft Visual Basic for Applications-venster te openen.
2. Klik op Invoegen > Module, kopieer en plak vervolgens de volgende code in het Modulevenster.
VBA-code: Haal woorden die beginnen met een hoofdletter:
Function StrExtract(Str As String) As String
'Updateby Extendoffice
Application.Volatile
Dim xStrList As Variant
Dim xRet As String
Dim I As Long
If Len(Str) = 0 Then Exit Function
xStrList = Split(Str, " ")
If UBound(xStrList) >= 0 Then
For I = 0 To UBound(xStrList)
If xStrList(I) = StrConv(xStrList(I), vbProperCase) Then
xRet = xRet & xStrList(I) & " "
End If
Next
StrExtract = Left(xRet, Len(xRet) - 1)
End If
End Function
3. Sla de code vervolgens op en sluit het codevenster, voer deze formule in: =StrExtract(A2) in een lege cel naast je gegevens, en sleep de vulgreep omlaag naar de cellen waar je het resultaat wilt krijgen. Alle woorden die beginnen met een hoofdletter zijn nu geëxtraheerd, zie screenshot:
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!