Excel - Verhindert, dass der Zellentext in die nächste (leere) Zelle überläuft


71

Wenn sich in einer Excel-Zelle Text befindet, der zu lang ist, um im sichtbaren Bereich dieser Zelle angezeigt zu werden, und die nächste Zelle rechts leer ist, wird in Excel der Text in dieser nächsten Zelle (und der nächsten und der nächsten) angezeigt als nächstes nach Bedarf). Ich möchte das ändern. Ich möchte diesen Textüberlauf vermeiden.

Ich weiß, dass ich dies vermeiden kann, indem ich den Zeilenumbruch aktiviere und die Zeilenhöhe anpasse. Aber das will ich nicht.

Ich möchte das DEFAULT-Verhalten von Excel so ändern, dass der Wert jeder Zelle nur im sichtbaren Bereich dieser Zelle angezeigt wird. Kein Überlauf, kein Zeilenumbruch.

Ist das möglich? (Ich benutze übrigens Excel 2010.)


5
Wenn sich herausstellt, dass dies nicht möglich ist, können Sie die leeren Zellen mit einem Leerzeichen versehen ...
Aprillion 19.11.12

ziemlich interessant - ich kenne keine andere Möglichkeit als WordWrap, Font-AutoSize oder Zeichen in den anderen Zellen zu verwenden.
Jook

1
Sie können zusätzliche Zeichen abschneiden, indem Sie alle Zellen auswählen, Data / Text to Columnsnach so vielen Zeichen, die in eine Zelle passen, einen Umbruch vornehmen und festlegen, ohne dass Zeilenumbrüche oder Überläufe auftreten. Denken Sie daran, die zusätzliche Spalte zu überspringen , die die zusätzlichen Zeichen enthält!
Karan

Ich denke, dies würde Ihre Frage beantworten: superuser.com/a/878605/497156
Sulaiman

"Ich weiß, dass ich dies vermeiden kann, indem ich den Zeilenumbruch aktiviere und die Zeilenhöhe anpasse." Vielen Dank! Das ist meine gewählte Lösung.
Ochado

Antworten:


4

Dies ist möglicherweise nicht für jeden eine Option. Wenn Sie das Dokument jedoch in Google Sheets importieren, wird diese Funktionalität standardmäßig unterstützt. In der oberen Menüleiste werden drei Arten von Zeilenumbrüchen unterstützt. Überlauf, Wickel und Clip. Sie suchen einen Clip.

Abhängig von den Anforderungen kann dies für manche Menschen eine praktikable Option sein.


5
Ihre Antwort lautet also tatsächlich "Excel ablegen und mit Google Sheets arbeiten".
Solar Mike

Wie gesagt, keine Option für jedermann, aber für manche vielleicht eine gute Lösung.
Yellavon

@SolarMike - danke. Ich war verwirrt, aber Ihr Kommentar sortiert diese Antwort. Ich denke, & yellavon geht davon aus, dass die Leute seine Antwort ablehnen und als solche defensiv sind - bevor sie die Antwort tatsächlich erklären. Ihr Kommentar ist prägnanter als die tatsächlich veröffentlichte Antwort.
Barrypicker

Tatsächlich ist dies die Antwort, die einer tatsächlichen Lösung am nächsten kommt. Ich habe festgestellt, dass Sie in Excel etwas Ähnliches tun können. Passen Sie die Spalte auf die erforderliche Breite an, aktivieren Sie dann die Wortverzerrung für die Spalte (wodurch sich alle Zeilenhöhen erhöhen), wählen Sie dann alle Zeilen aus und stellen Sie die Zeilenhöhen auf die gewünschte Höhe ein. Voila! Sie können nun Text in Zellen, die zu den benachbarten Zellen nicht überlaufen (@ yellavon: ich Ihre Antwort akzeptieren, könnte man es möchte aktualisieren Sie diese EXcel Verhalten enthalten , damit die Menschen die Lösung leicht mehr zugreifen können).
E-MRE

49

Ja, Sie können dieses Verhalten ändern, möchten jedoch wahrscheinlich nicht, dass die dadurch verursachten Nebenwirkungen auftreten.

Der Schlüssel zum Begrenzen des Zelleninhalts auf die Zellengrenzen, unabhängig davon, ob die benachbarte Zelle Daten enthält, ist die Textausrichtung Fill. Wählen Sie die Zellen aus, die nicht überlaufen sollen, und klicken Sie mit der rechten Maustaste darauf.> Zellen formatieren ... > Registerkarte Ausrichtung > Horizontale Ausrichtung > Füllen

Das Problem bei dieser Methode ist, dass die Zellen dadurch tatsächlich gefüllt werden, dass ihr Inhalt wiederholt wird, wenn er kurz genug ist, um mehrmals in die Zelle zu passen. In der Abbildung unten sehen Sie, was dies bedeutet. (Beachten Sie, dass mit 'Kurztext' gefülltB7 ist .)

Screenshot mit dem unterschiedlichen Textausrichtungsverhalten für Standard und Füllung

Es sieht so aus, als ob Sie mit den Problemumgehungen in Benedikts Beitrag nicht weiterkommen

Beachten Sie, dass Sie 'mit Benedikts erster, sehr cleverer Methode auch die angrenzenden Zellen mit Häkchen ( ) füllen können . Auf diese Weise müssen Sie nichts verbergen, einen Zellenüberlauf verhindern und wenn Sie die Zellen als Text kopieren (sagen wir zum Merkzettel), erhalten Sie immer noch leeren Text und keine Leerzeichen oder Häkchen.


2
Also habe ich Ihren Vorschlag angenommen, Benedikts Methode zu folgen, um die Leerräume mit 'Zeichen zu füllen . Jetzt weiß ich nicht, ob ich deine oder seine Antwort unterstützen soll oder was! :-p
Dan Henderson

Ich bin noch verwirrter. Ich kann 'in Benedikts Antwort überhaupt keinen Vorschlag finden , auch nicht in alten Bearbeitungen! Ich habe beide, nur für den Fall,
upvoted

1
@ user568458: Meine Notiz war eigentlich eine Abwandlung von Benedikts Antwort. Sie könnten die Zellen füllen, ' anstatt sie zu füllen, N/Awie Benedikt vorgeschlagen hatte. Ich fand gerade Benedikts Methode , alle leeren Zellen mit einem beliebigen Wert zu füllen, sehr überzeugend.
Marcus Mangelsdorf

1
Durch 'Füllen' werden die Zahlen auch linksbündig ausgerichtet.
posfan12

Wie ... unglaublich dumm. (Excel, nicht diese Antwort.)
TJ Crowder

26

So mache ich das

  1. Option 1: Füllen Sie alle leeren Zellen mit einem "N / A" und verwenden Sie dann die bedingte Formatierung, um den Text unsichtbar zu machen.
  2. Oder Option 2: Füllen Sie alle leeren Zellen mit 0 und verwenden Sie eine Excel-Einstellung, um Nullwerte auszublenden.

Füllen aller leeren Zellen: (getestet auf einem Mac)

  • Bearbeiten → Gehe zu ... → Spezial ... (Unter Windows: Startseite → Bearbeiten → Suchen & Auswählen → Gehe zu Spezial ...)
  • Wählen Sie "Leerzeichen" und klicken Sie auf OK.
  • Alle leeren Zellen sind jetzt ausgewählt. Klicke nichts an.
  • Geben Sie "N / A" oder 0 ein und drücken Sie dann Ctrl+ Enter . Dadurch wird der Wert in alle ausgewählten Zellen eingefügt.

Bedingte Formatierung zum Ausblenden von "N / A"

  • Format → Bedingte Formatierung.
  • Neue Regel erstellen.
  • Stil: Klassisch und Verwenden Sie eine Formel, um zu bestimmen, welche Zellen formatiert werden sollen.
  • Formel: =A1="N/A"
  • Formatieren mit: Benutzerdefiniertes Format: Schriftfarbe weiß, keine Füllung.

Nullen ausblenden

  • Excel → Einstellungen → Ansicht.
  • Deaktivieren Sie "Nullwerte anzeigen".

_______________
  Das ist Ctrl+ Enter, nicht Ctrl+ Shift+Enter .


13

Versuchen Sie, die Formel = "" (das sind zwei doppelte Anführungszeichen) in die angrenzende Zelle einzugeben, in der Sie den Überlauf nicht sehen möchten. Dies ergibt "null", was nichts anzeigt und die Mathematik nicht beeinflusst.


1
In Kombination mit der Post von Benedikt halte ich dies für eine der einfachsten Lösungen, da Sie nichts verstecken müssen.
Matt

Das hat bei mir am besten funktioniert.
Peter

Beeinflusst die statistische Funktion COUNTA, die die Anzahl der Zellen in einem Bereich zählt, die nicht leer sind . Eine Zelle, die eine Zeichenfolge mit der Länge Null als Ergebnis einer Formel anzeigt, ist nicht leer und wird gezählt.
TiefgründigOblivious

4

Verwenden Sie die horizontale Textausrichtung "Füllen" für die Zelle. Sie finden es an derselben Stelle wie andere Ausrichtungsoptionen, mit denen Sie Ihr Problem lösen können

Füllen Sie die Textausrichtung


4
War dies nicht durch Marcus Mangelsdorfs Antwort abgedeckt ?
Stevoisiak

8
Beachten Sie auch, dass Marcus ein schwerwiegendes Problem mit dieser Methode erklärt: Wenn der Inhalt der Zelle kurz genug ist, werden sie dupliziert. So würde "A" "AAAAAAAA" werden.
Blackwood

Nett, danke. Klicken Sie mit der rechten Maustaste auf die Zellen, die neu formatiert werden sollen, wählen Sie "Zellen formatieren" und führen Sie den Rest als Anleitung aus. Es funktionierte.
Catbuilts

4

Aufbauend auf der Lösung der Verwendung 'zu blockieren Excel ‚s nach rechts Vergießen von Text in benachbarte leere Zellen, manchmal möchten Sie nicht / korrupte Spalte Ihre Daten ändern , indem Sie diesen Wert dort einfügen.

Anstatt die 'Werte in Ihre tatsächlichen Daten einzufügen, können Sie zu diesem Zweck eine neue dedizierte vertikale Spalte erstellen, die ganz 'unten mit Zeichen gefüllt ist.

1. Sperrsäule

Bildbeschreibung hier eingeben

2. Fügen Sie die Spalte "Barriere" links von den Spalten ein, die Sie schützen möchten.

Bildbeschreibung hier eingeben

3. Reduzieren Sie die Barrierespalten, indem Sie ihre Spaltenbreite auf einen kleinen Wert einstellen

Stellen Sie die Spaltenbreite auf einen Wert ein, z. B. .1oder lassen Sie die Barrierespalten breiter, um als Rand oder Zwischenraum für Spalten zu fungieren.

Bildbeschreibung hier eingeben

Beachten Sie, dass Sie eine Breite größer als Null festlegen müssen. Wenn Sie die Spaltenbreite der vertikalen Barriere auf Null setzen, wird das unerwünschte Überlaufverhalten der Zellen wiederhergestellt.

4. Voila!


1

Passen Sie in Excel die Spalte auf die erforderliche Breite an, aktivieren Sie dann die Wortverzerrung für diese Spalte (wodurch sich alle Zeilenhöhen erhöhen), wählen Sie dann alle Zeilen aus und passen Sie die Zeilenhöhen auf die gewünschte Höhe an. Voila! Sie haben jetzt Text in Zellen, der nicht zu den benachbarten Zellen überläuft.

(Hinweis: Ich habe dies gefunden und als Kommentar in die ausgewählte Antwort gepostet, aber auch als Antwort gepostet, damit es für andere leichter zu finden ist.)


1
Der zweite Absatz der Frage: "Ich weiß, dass ich dies vermeiden kann, indem ich den Zeilenumbruch aktiviere und die Zeilenhöhe anpasse. Aber das ist nicht das, was ich will."
Fixer1234

0

In der gleichen Denkweise, dass Google Sheets möglicherweise nicht für jeden geeignet ist , ist dieses Makro möglicherweise nicht für jeden geeignet, aber möglicherweise für jemanden .

Es durchläuft den ausgewählten Bereich und ersetzt überlaufende Zellen durch abgeschnittenen Text.

Flags bestimmen ob:

  • Der fehlerhafte Text wird in einem neuen Arbeitsblatt an dieselbe relative Adresse kopiert oder verworfen.

  • Der abgeschnittene Text ist fest codiert oder über eine Arbeitsblattformel verknüpft =LEFT()

  • Der abgeschnittene Text wird auf dem neuen Blatt mit der vollständigen Zeichenfolge verknüpft.

Standardmäßig werden Daten beibehalten und beide Links verwendet.

Option Explicit

Sub LinkTruncatedCells()
    Dim rng As Range: Set rng = Selection
    Dim preserveValues As Boolean: preserveValues = True
    Dim linkAsFormula As Boolean: linkAsFormula = True
    Dim linkAsHyperlink As Boolean: linkAsHyperlink = True
    Dim w As Single
    Dim c As Range
    Dim r As Range
    Dim t As Long
    Dim l As Long
    Dim s As String
    Dim ws As Worksheet
    Dim ns As Worksheet
    Application.ScreenUpdating = False
    Set ws = rng.Parent
    For Each c In rng.Columns
        w = c.ColumnWidth
        t = 0
        l = 0
        For Each r In c.Rows
            If Len(r) > l Then
                s = r
                If CBool(l) Then r = Left(s, l)
                Do
                    r.Columns.AutoFit
                    If r.ColumnWidth > w And Len(s) > t Then
                        t = t + 1
                        r = Left(s, Len(s) - t)
                        l = Len(r)
                    End If
                Loop Until t = Len(s) Or r.ColumnWidth <= w
                r.ColumnWidth = w
                If r <> s And preserveValues Then
                    If ns Is Nothing Then
                        Set ns = ws.Parent.Worksheets.Add(after:=ws)
                    End If
                    ns.Range(r.Address) = s
                    If linkAsFormula Then r.Formula = "=LEFT(" & ns.Name & "!" & r.Address & "," & l & ")"
                    If linkAsHyperlink Then ws.Hyperlinks.Add Anchor:=r, Address:="", SubAddress:= _
                            ns.Range(r.Address).Address(external:=True)
                End If
            End If
        Next r
    Next c
    ws.Activate
    Application.ScreenUpdating = True
End Sub

Letzte Anmerkung: Ich habe es für persönliche Projekte verwendet und für zuverlässig befunden, aber bitte speichern und sichern Sie Ihre Arbeit, bevor Sie ein unbekanntes Makro ausprobieren .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.