Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text-Überlauf in Excel-Zelle erkennen

Text-Überlauf in Excel-Zelle erkennen
Willi
Hallo,
wer kann mir bei folgender Aufgabenstellung helfen?
Auf meinem Excel-Arbeitsblatt ist die Größe der Zellen fest vorgegeben, mit Zeilenumbruch. Wenn der in eine Excel-Zelle eingetragene Text länger ist, als der in der Zelle darstellbare Text, so wird der zu lange Text in der Ansicht und im Ausdruck abgeschnitten.
Die Aufgabe besteht darin, zu erkennen, ob der in der Ansicht und dem Ausdruck dargestellte Text vollständig ist oder ob Teile davon abgeschnitten worden sind. Falls Text abgeschnitten wurde soll auf dem Arbeitsblatt ein entsprechender Warnhinweis eingetragen werden.
Hintergrund ist, dass der Ausdruck die Basis zur weiteren Bearbeitung ist, und wenn Text abgeschnitten wurde, fehlen dem Bearbeiter wichtige Informationen, ohne dass er das merkt.
Mir fällt dazu nur ein, die Anzahl der Zeichen in dem Text zu ermitteln und diese mit der in der Zelle maximal darstellbaren Zeichenzahl zu vergleichen. Das ist aber eine sehr unsichere Methode, da eine Proportionalschrift vorliegt, in der die unterschiedlichen Zeichen unterschiedlich viel Platz einnehmen.
Hat jemand eine bessere Idee?
Herzlichen Dank im Voraus für Eure Hilfe!
Gruß
Willi
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Bedingte Formatierung
19.02.2010 13:13:18
welga
Hallo Willi,
eventuell kannst du das per Makro abfragen:
Mal ein Bsp:
In den Code der Tabelle:
Sub worksheet_change(ByVal target As Range)
Dim V As Variant
If Not Intersect(ActiveSheet.UsedRange, target) Is Nothing Then
V = Split(target.Value, vbLf)
zeilenumbruchanzahl = UBound(V) + 1
b = target.Rows.RowHeight
c = target.Font.Size
c = c * zeilenumbruchanzahl
If c > b Then MsgBox "Zelle ist überfüllt"
End If
End Sub

Anzeige
AW: Bedingte Formatierung
21.02.2010 13:19:28
Willi
Hallo Welga,
danke für Deinen Vorschlag. Habe damit ziemlich viel versucht, aber leider geht es so nicht.
Dein Vorschlag setzt voraus, dass, dass jede Zeile mit enem manuellen Zeilenumbruch abgeschlossen wird, versagt aber bei automatischem Zeilenumbruch durch Excel. Aber da gibt es wohl keine Abhilfe, oder?
Der Ausdruck
b = target.Rows.RowHeight
für die Zellenhöhe gibt nur die Höhe einer Zeile zurück. Bei verbundenen Zellen mit mehreren Zeilen (wie bei mir) gibt es ein Problem, weil target nur die 1. Zeile bezeichnet. Hier muß der gesamte Bereich z.B. "B2:C5" angegeben werden und es muss heißen
Range("B2:C5").Height.
Auch entspricht die Schriftgröße Font.Size nicht der Zeilehöhe, selbst dann nicht, wenn "Optimale Zeilenhöhe" eingestellt ist, weil über und unter der Schrift immer noch etwas Platz ist. Somit ist die Rechnung
Texthöhe = Zeilenumbruchanzahl * Schrifthöhe
falsch.
Aber Dein Vorschlag hat mir trotzdem weiter geholfen. Bei mir geht es nur um eine bestimmte Zelle mit fester Höhe und fester Schriftgröße, sodaß auch die Anzahl der maximal anzeigbare Zeilen fest vorgegeben ist. Somit führt der Vergleich
if Zeilenumbruchanzahl > MaxZeilenzahl then
zum Ziel.
Für mich war die Funktion
V = Split(target.Value, vbLf)
neu. Wo kann ich darüber etwas Näheres nachlesen? Die Hilfe in Excel/VBA dazu verstehe ich nicht.
Nochmals herzlichen Dank für Deine Unterstützung!
Gruß
Willi
Anzeige
AW: Bedingte Formatierung
21.02.2010 15:47:27
Reinhard
Hallo Willi,
was ist dir an
"V = Split(target.Value, vbLf)"
unklar?
Das was in Target drinsteht (könnte Probleme geben wenn Target mehr als eine einzige Zelle iist) wird aufgesplittet an den Stellen wo darin das Trennzeichen, hier vbLf, könntest aber auch jedes andere Zeichen wie Komma, Punkt usw. nehmen, steht.
Ich nehm mal as Trennzeichen das Komma, ist hier einfacher darzustellen.
V = Split("abc",",")
ergibt nur
V(0)="abc"
V = Split("abc,def,ghi,jkl",",")
ergibt
V(0)="abc"
V(1)="def"
V(2)="ghi"
V(3)="jkl"
Mit Msgbox UBound(V) ermittelst du die Anzahl der Elemente in V.
Aber da es ein Array ist beginnt das Zählen mit 0, also bedeutet Ubound()=3 daß es 4 Elemente sind.
Gruß
Reinhard
Anzeige
AW: Bedingte Formatierung
22.02.2010 13:35:53
Willi
Hallo Reinhard,
ich danke Die für Deine einfache Erklärung. Jetzt habe ich verstanden, was die Funktion "Split" eigentlich tut, und jetzt verstehe ich auch die Aussage in der Hilfe in Excel/VA (zumindest teilweise). Eigentlich sollte es ja umgekehrt sein.
Die Funktion scheint mir ganz nützlich zu sein. Bisher habe ich das Gleiche mit einem längeren Code realisiert. Aber mit Split ist das natürlich viel einfacher.
Also nochmals vielen Dank und Grüße
Willi
Anzeige
AW: Bedingte Formatierung
21.02.2010 11:41:01
Willi
Hallo Beate,
danke für den Tip, aber leider trifft das nicht meine Aufgabenstellung. Da gehtes ja nur um die Anzahl der Zeichen in dem Text, aber nicht darum, ob der Text größer ist als in der Zelle angezeigt werden kann.
Trotzdem, danke für Deine Mühe!
Gruß Willi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Text-Überlauf in Excel-Zelle erkennen


Schritt-für-Schritt-Anleitung

Um den Textüberlauf in einer Excel-Zelle zu erkennen, kannst Du folgende Schritte befolgen:

  1. Zellenformatierung prüfen: Stelle sicher, dass die Zellen auf "Zeilenumbruch" eingestellt sind:

    • Markiere die Zelle(n).
    • Gehe zu Start > Ausrichtung > Zeilenumbruch.
  2. VBA-Makro erstellen: Du kannst ein einfaches Makro verwenden, um zu überprüfen, ob der Text überläuft. Öffne den VBA-Editor (Alt + F11) und füge den folgenden Code ein:

    Sub worksheet_change(ByVal target As Range)
       Dim V As Variant
       If Not Intersect(ActiveSheet.UsedRange, target) Is Nothing Then
           V = Split(target.Value, vbLf)
           zeilenumbruchanzahl = UBound(V) + 1
           b = target.Rows.RowHeight
           If zeilenumbruchanzahl > 1 Then
               MsgBox "Zelle hat mehrere Zeilen und könnte überlaufen."
           End If
       End If
    End Sub
  3. Makro ausführen: Das Makro wird automatisch bei Änderungen in den Zellen ausgeführt, und Du erhältst eine Warnung, wenn der Text überläuft.


Häufige Fehler und Lösungen

  • Problem: Das Makro funktioniert nicht bei verbundenen Zellen.

    • Lösung: Stelle sicher, dass Du den gesamten Bereich der verbundenen Zellen in Deinem Code angibst, z.B. Range("B2:C5").Height.
  • Problem: Text wird nicht korrekt erkannt.

    • Lösung: Überprüfe, ob die Zelle den Zeilenumbruch aktiviert hat. Andernfalls wird der Text möglicherweise nicht vollständig angezeigt.

Alternative Methoden

Wenn Du kein Makro verwenden möchtest, gibt es auch alternative Methoden:

  • Verwendung von Formeln: Du kannst die Anzahl der Zeichen in einer Zelle ermitteln und mit der maximalen Zeichenanzahl vergleichen. Dies ist jedoch ungenau bei Proportionalschrift.

  • Bedingte Formatierung: Du kannst eine bedingte Formatierung einsetzen, um Zellen, deren Text überläuft, hervorzuheben. Gehe zu Start > Bedingte Formatierung und wähle die entsprechenden Regeln aus.


Praktische Beispiele

  1. Überlauf bei Excel erkennen: Angenommen, Du hast in Zelle A1 den Text "Dies ist ein langer Text, der nicht in die Zelle passt." Wenn die Zelle nur Platz für 30 Zeichen hat, wird der Text überlaufen.

  2. Warnhinweis einfügen: Verwende das Makro, um eine Nachricht auszugeben, wenn der Text nicht vollständig angezeigt werden kann.


Tipps für Profis

  • Proportionalschrift: Beachte, dass bei Proportionalschrift unterschiedliche Zeichen unterschiedlich viel Platz benötigen. Verwende die LEN-Funktion, um die Länge des Textes zu ermitteln.

  • Excel-Textüberlauf aktivieren: Um sicherzustellen, dass der Text immer vollständig dargestellt wird, aktiviere den Zeilenumbruch und passe die Zellenhöhe an.

  • Visuelle Hinweise: Du kannst auch visuelle Hinweise in Form von Farben oder Symbolen verwenden, um überlaufenden Text schnell zu identifizieren.


FAQ: Häufige Fragen

1. Was bedeutet #überlauf bei Excel?
Das bedeutet, dass der Text in der Zelle länger ist als der zur Verfügung stehende Platz und daher abgeschnitten wird.

2. Wie kann ich den Textüberlauf in Excel erzwingen?
Du kannst den Zeilenumbruch aktivieren oder die Zellenhöhe manuell anpassen, um sicherzustellen, dass der gesamte Text sichtbar ist.

3. Was ist eine Proportionalschrift?
Eine Proportionalschrift ist eine Schriftart, bei der jedes Zeichen unterschiedlich viel Platz einnimmt, was die Berechnung der Textlängen komplizierter macht.

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