Wie konvertiert man eine Textzeichenfolge in die richtige Schreibweise mit Ausnahmen in Excel?
In Excel können Sie die Funktion „Erster Buchstabe jedes Wortes groß“ verwenden, um Textzeichenfolgen einfach in die richtige Schreibweise zu konvertieren. Manchmal müssen Sie jedoch bestimmte Wörter ausschließen, wenn Sie die Textzeichenfolgen in die richtige Schreibweise konvertieren, wie im folgenden Screenshot gezeigt. In diesem Artikel werde ich über einige schnelle Tricks sprechen, um diese Aufgabe in Excel zu lösen.
Konvertieren von Textzeichenfolgen in die richtige Schreibweise mit Ausnahmen mithilfe einer Formel
Konvertieren von Textzeichenfolgen in die richtige Schreibweise mit Ausnahmen mithilfe von VBA-Code
Konvertieren von Textzeichenfolgen in die richtige Schreibweise mit Ausnahmen mithilfe einer Formel
Vielleicht kann Ihnen die folgende Formel helfen, diese Aufgabe schnell zu erledigen. Gehen Sie bitte wie folgt vor:
Geben Sie diese Formel ein:
=UPPER(LEFT(A2))&MID(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(" "&PROPER(A2)&" "," Of "," of ")," A "," a "),"Is "," is ")," Usa "," USA ")),2,LEN(A2)) in eine Zelle, in der Sie das Ergebnis erhalten möchten, und ziehen Sie dann den Ausfüllknauf, um diese Formel auszufüllen. Die Textzeichenfolgen wurden in die richtige Schreibweise konvertiert, aber mit spezifischen Ausnahmen, siehe Screenshot:
Hinweis: In der obigen Formel ist A2 die Zelle, die Sie konvertieren möchten. „Of“, „A“, „Is“, „Usa“ sind die normalen Wörter in richtiger Schreibweise nach der Konvertierung, „of“, „a“, „is“, „USA“ sind die Wörter, die Sie von der richtigen Schreibweise ausschließen möchten. Sie können sie nach Bedarf ändern oder andere Wörter mit der SUBSTITUTE-Funktion hinzufügen.
Konvertieren von Textzeichenfolgen in die richtige Schreibweise mit Ausnahmen mithilfe von VBA-Code
Falls die obige Formel etwas schwierig zu verstehen und an Ihre Bedürfnisse anzupassen ist, können Sie hier auch einen VBA-Code anwenden, um diese Aufgabe zu erledigen. Gehen Sie bitte Schritt für Schritt wie folgt vor.
1. Halten Sie die Tasten ALT + F11 gedrückt, um das Fenster Microsoft Visual Basic for Applications zu öffnen.
2. Klicken Sie auf Einfügen > Modul und fügen Sie den folgenden Code in das Modulfenster ein.
VBA-Code: Konvertieren von Textzeichenfolgen in die richtige Schreibweise mit Ausnahmen:
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. Drücken Sie dann die Taste F5, um diesen Code auszuführen, und ein Eingabefenster wird angezeigt, das Sie auffordert, die ursprünglichen Zellen auszuwählen, die Sie konvertieren möchten, siehe Screenshot:
4. Klicken Sie dann auf OK, wählen Sie die Zellen aus, in denen Sie die Ergebnisse ausgeben möchten, im angezeigten Fenster, siehe Screenshot:
5. Klicken Sie weiter auf OK, und wählen Sie im Popup-Dialogfeld die Texte aus, die Sie ausschließen möchten, siehe Screenshot:
6. Klicken Sie dann auf OK, um die Dialoge zu schließen, und alle Textzeichenfolgen wurden in die richtige Schreibweise konvertiert, mit Ausnahme der angegebenen Wörter, siehe Screenshot:
Beste Büroproduktivitätswerkzeuge
Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
- Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!