naninana
Goto Top

Excel-Makro StrConv Zeichenkette in korrekte Groß- und Kleinschreibung umwandeln

Hallo,

ich habe ein umfangreiches Excel-Tabellenblatt. In dem Tabellenblatt stehen verschiedene Bezeichnungen in verschiedenen Spalten. Der Inhalt der Beschreibung ist teilweise in Großbuchstaben geschrieben, teilweise nicht. Nun möchte ich alles vereinheitlichen.

So sieht es jetzt aus

Spalte A
Centrifugal PUMP 7200-3
RINGSTÜCK ALU
FORWARD CHECK VALVE
T-STÜCK MIT Ü-Mutter
Ringlötstück Öldruckleitung

so soll es aussehen:

Spalte A:
Centrifugal Pump 7200-3
Ringstück ALu
Forward Check Valve
T-Stück mit Ü-Mutter
Ringlötstück Öldruckleitung

Ich habe im Netzt was gefunden zum Thema "StrConv – Zeichenkette in korrekte Groß- und Kleinschreibung umwandeln": Dass diese Funktion das irgendwie erkennen kann, welche Wörter Groß- oder kleingeschrieben werden müssen.. Keine Ahnung ob das geht es wäre aber toll.

Das Makro sollte über die Zellen laufen, die ich markriert habe im Tabellenblatt. Ich hoffe, jemand kann mit helfen.

Danke vorab

Content-ID: 2618573039

Url: https://administrator.de/contentid/2618573039

Ausgedruckt am: 24.11.2024 um 04:11 Uhr

MrCount
MrCount 27.04.2022 aktualisiert um 13:50:38 Uhr
Goto Top
Servus,

VbProperCase: Konvertiert den ersten Buchstaben der einzelnen Wörter in einer Zeichenfolge in Großbuchstaben.

siehe: https://docs.microsoft.com/de-de/office/vba/language/reference/user-inte ...

Da ist also keine "Intelligenz" hinter, die die Wörter "korrekt" schreibt.
MrCount
MrCount 27.04.2022 um 13:56:30 Uhr
Goto Top
Wenn es sich um eine statische Datei handelt, dann bist du mit "STRG + H" schneller.
naninana
naninana 27.04.2022 um 13:58:13 Uhr
Goto Top
Hallo,

das hatte ich befürchtet. face-wink Aber der erste Buchstabe in dem Wort "Groß" wäre auch schon mal was. Könntest Du mir da mit dem Makro helfen?

LG
MrCount
Lösung MrCount 27.04.2022 um 17:04:12 Uhr
Goto Top
Hier hat MS ein Beispiel:
https://support.microsoft.com/de-de/topic/beispielmakrocode-zum-%C3%A4nd ...

Makro, mit dem der gesamte Text eines Bereichs in Kleinbuchstaben formatiert wird
Sub Lowercase()
   ' Loop to cycle through each cell in the specified range.  
   For Each x In Range("B1:B5")  
      x.Value = LCase(x.Value)
   Next
End Sub

Makro, mit dem die Anfangsbuchstaben im gesamten Text eines Bereichs in Großbuchstaben formatiert werden
 
Sub Proper_Case()
   ' Loop to cycle through each cell in the specified range.  
   For Each x In Range("C1:C5")  
      ' There is not a Proper function in Visual Basic for Applications.  
      ' So, you must use the worksheet function in the following form:  
      x.Value = Application.Proper(x.Value)
   Next
End Sub
colinardo
Lösung colinardo 28.04.2022 aktualisiert um 10:25:54 Uhr
Goto Top
Servus @naninana,
Das Makro sollte über die Zellen laufen, die ich markriert habe im Tabellenblatt. Ich hoffe, jemand kann mit helfen.
für alle markierten Zellen dann
Sub ConvertToProperCase()
    dim cell as Range
    For Each cell In Selection
        cell.Value = StrConv(cell.Value, vbProperCase)
    Next
End Sub
Für bessere Ergebnisse müsste man dann mit Regex ran, bei der deutschen Rechtschreibung wird das dann etwas aufwendiger mit den ganzen Pronomen, Adjektiven & Co .

Grüße Uwe
naninana
naninana 28.04.2022 um 10:42:57 Uhr
Goto Top
Ganz herzlichen Dank für Eure Hilfe!