Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kleinbuchstaben und Großbuchstaben trennen

Kleinbuchstaben und Großbuchstaben trennen
03.02.2009 14:33:00
MBorn
Hallo,
weiß jemand ob es eine Möglichkeit gibt in einem String, der Klein- und großbuchstaben ohne Leerzeiche enthält, ein Leerzeichen vor den Großbuchstaben einzufügen?
Beispiel
ThomasSchüler
Thomas Schüler
Gruß und Dank,
Born
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kleinbuchstaben und Großbuchstaben trennen
03.02.2009 14:46:21
Reinhard
Hi Born,
A1: ThomasSchüler
B1: =leer(A1)

Function Leer(Zelle As Range) As String
Dim L As Integer
If Zelle.Value  "" Then Leer = Left(Zelle.Value, 1)
For L = 2 To Len(Zelle.Value)
If Mid(Zelle.Value, L, 1) = UCase(Mid(Zelle.Value, L, 1)) Then Leer = Leer & " "
Leer = Leer & Mid(Zelle.Value, L, 1)
Next L
End Function


Gruß
Reinhard

Anzeige
AW: Kleinbuchstaben und Großbuchstaben trennen
03.02.2009 15:03:05
MBorn
Toll, Reinhard!
Herzlichen Dank,
Born
AW: Kleinbuchstaben und Großbuchstaben trennen
03.02.2009 15:28:13
MBorn
Toll, Reinhard!
Herzlichen Dank,
Born
Ich habe gerade versucht, die Funktion so zu verändern, daß nur ein
Leerzeichen eingefügt wird, wenn hinter dem Großbuchstaben ein
Kleinbuchstabe folgt. Ist mir nicht gelungen. Könntest Du da bitte
nochmal helfen?
Beispiel:
FCGöteborg soll FC Göteborg werden.
Wäre klasse.
Anzeige
AW: Kleinbuchstaben und Großbuchstaben trennen
03.02.2009 17:15:46
Reinhard
Hallo Born,

Function Leer(Zelle As Range) As String
Dim L As Integer
If Zelle.Value  "" Then Leer = Left(Zelle.Value, 1)
For L = 2 To Len(Zelle.Value)
If Mid(Zelle.Value, L, 1) = UCase(Mid(Zelle.Value, L, 1)) And _
Mid(Zelle.Value, L + 1, 1) = LCase(Mid(Zelle.Value, L + 1, 1)) Then Leer = Leer & " "
Leer = Leer & Mid(Zelle.Value, L, 1)
Next L
End Function


Gruß
Reinhard

Anzeige
Leerzeichen vor Großbuchstaben per Arrayformel
03.02.2009 15:05:39
WF
Hi,
jetzt allerdings nur für Dein Beispiel
{=WECHSELN(A1;ZEICHEN(MIN(CODE(TEIL(A1;ZEILE(INDIREKT("2:"&LÄNGE(A1)));1)))); " "&ZEICHEN(MIN(CODE(TEIL(A1;ZEILE(INDIREKT("2:"&LÄNGE(A1)));1))))) }
ARRAY-Formel {=geschweifte Klammern} nicht eingeben;
Abschluß der Formel mit gleichzeitig Strg / Shift / Enter (statt Enter allein); - das erzeugt sie.
trapp, trapp, trapp, trapp, trapp, brrrrr
WF
Anzeige
AW: Leerzeichen vor Großbuchstaben per Arrayformel
03.02.2009 15:29:00
MBorn
Hi WF,
danke dafür.
Ich muß es zwar mit VBA lösen, aber trotzdem danke.
Born
;
Anzeige
Anzeige

Infobox / Tutorial

Kleinbuchstaben und Großbuchstaben trennen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel ein Leerzeichen vor Großbuchstaben einzufügen, kannst du eine benutzerdefinierte VBA-Funktion verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Function Leer(Zelle As Range) As String
       Dim L As Integer
       If Zelle.Value <> "" Then Leer = Left(Zelle.Value, 1)
       For L = 2 To Len(Zelle.Value)
           If Mid(Zelle.Value, L, 1) = UCase(Mid(Zelle.Value, L, 1)) And _
              Mid(Zelle.Value, L + 1, 1) = LCase(Mid(Zelle.Value, L + 1, 1)) Then
               Leer = Leer & " "
           End If
           Leer = Leer & Mid(Zelle.Value, L, 1)
       Next L
    End Function
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Verwende die Funktion in einer Zelle, z.B. =Leer(A1), wobei A1 die Zelle mit dem Text ist.


Häufige Fehler und Lösungen

  • Fehler: Die Funktion gibt einen Fehler zurück oder funktioniert nicht wie erwartet.

    • Lösung: Stelle sicher, dass du die Funktion korrekt in einer Zelle aufrufst und dass die Zelle, die du übergibst, nicht leer ist.
  • Fehler: Es werden nicht die gewünschten Leerzeichen eingefügt.

    • Lösung: Überprüfe den Code in der VBA-Funktion und achte darauf, dass die Bedingungen für das Einfügen von Leerzeichen korrekt gesetzt sind.

Alternative Methoden

Eine Array-Formel kann ebenfalls verwendet werden, um Leerzeichen vor Großbuchstaben einzufügen. Hier ist ein Beispiel:

  1. Gehe zu einer Zelle, in die du die Formel eingeben möchtest.

  2. Gib diese Formel ein:

    {=WECHSELN(A1;ZEICHEN(MIN(CODE(TEIL(A1;ZEILE(INDIREKT("2:"&LÄNGE(A1)));1)))); " "&ZEICHEN(MIN(CODE(TEIL(A1;ZEILE(INDIREKT("2:"&LÄNGE(A1)));1)))))}
  3. Achte darauf, die Formel mit STRG + SHIFT + ENTER abzuschließen, damit sie als Array-Formel erkannt wird.


Praktische Beispiele

  • Wenn du den Text ThomasSchüler in Zelle A1 hast, wird die Funktion =Leer(A1) das Ergebnis Thomas Schüler liefern.
  • Für den Text FCGöteborg in Zelle A2 wird die gleiche Funktion =Leer(A2) das Ergebnis FC Göteborg ausgeben.

Tipps für Profis

  • Du kannst die benutzerdefinierte Funktion anpassen, um spezifische Anforderungen zu erfüllen, z.B. um nur bei bestimmten Buchstabenkombinationen Leerzeichen einzufügen.
  • Speichere deine Excel-Datei als Makro-fähige Datei (*.xlsm), um die VBA-Funktion zu behalten.

FAQ: Häufige Fragen

1. Frage: Wie kann ich die Funktion nutzen, um Excel Kleinbuchstaben in Großbuchstaben zu konvertieren?
Antwort: Du kannst die Funktion GROSS verwenden, um einen gesamten Text in Großbuchstaben zu konvertieren, z.B. =GROSS(A1).

2. Frage: Gibt es eine Möglichkeit, Buchstaben abwechselnd groß und klein darzustellen?
Antwort: Ja, du kannst eine Funktion erstellen, die jeden Buchstaben in der Zelle überprüft und entsprechend umwandelt. Das erfordert jedoch eine komplexere VBA-Logik.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige