Excel-Verhindern, dass Zelltext in die nächste (leere) Zelle überläuft

Wenn Sie Text in einer Excel-Zelle haben, der zu lang ist, um im sichtbaren Bereich dieser Zelle angezeigt zu werden, und die nächste Zelle rechts leer ist, lässt Excel den Text in dieser nächsten Zelle angezeigt werden (und die nächste und die nächste, je nach Bedarf). Ich möchte dies ändern; Ich möchte diesen Textüberlauf vermeiden.

Ich weiß, dass ich dies vermeiden kann, indem ich "Zeilenumbruch" aktiviere und die Zeilenhöhe anpasst. Aber das ist nicht das, was ich will.

Ich möchte das Standardverhalten von Excel ändern, damit es zeigt den Wert jeder Zelle nur im sichtbaren Bereich dieser Zelle an. Kein Überlauf, kein Zeilenumbruch.

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

10 answers

Dies ist möglicherweise keine Option für alle, aber wenn Sie das Dokument in Google Sheets importieren, wird diese Funktionalität standardmäßig unterstützt. In der oberen Menüleiste werden drei Arten von Textumbruch unterstützt. Überlauf, wrap -, und clip. Sie suchen Clip.

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

 9
Author: yellavon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-12-13 19:27:48

Ja, Sie können dieses Verhalten ändern, aber Sie werden wahrscheinlich nicht die Nebenwirkungen wollen dies verursacht.

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

Das Problem mit dieser Methode ist dass dadurch tatsächlich Zellen gefüllt werden, indem ihr Inhalt wiederholt wird, wenn er kurz genug ist, um mehrmals in die Zelle zu passen. Siehe unten Screenshot für was das bedeutet. (Beachten Sie, dass B7 mit 'Kurztext'gefüllt ist.)

Screenshot zeigt das unterschiedliche Textausrichtungsverhalten für Standard und Füllung

Darüber hinaus werden Zahlen nach links ausgerichtet und wenn die benachbarte Zelle auf Fill gesetzt ist, wird auch Text in diese Zelle überlaufen (danke posfan12 und HongboZhu für diesen Hinweis aus).

Es scheint also wirklich so, als würden Sie mit den Problemumgehungen in Benedikts Beitrag festhalten.

Empfehlung: Sie können die benachbarten Zellen mit Häkchenzeichen (') füllen, indem Sie die erste Methode von Benedikt verwenden, sehr clever Methode. Auf diese Weise müssen Sie nichts ausblenden, einen Zellüberlauf verhindern und wenn Sie die Zellen als Text kopieren (z. B. in den Editor), erhalten Sie immer noch leeren Text und keine Leerzeichen, Häkchen oder anderen Füller zeichen für diese Zellen.

 65
Author: Marcus Mangelsdorf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-09 12:33:45

So mache ich es.

  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... → Speziell ... (Unter Windows: Home → Bearbeiten → Suchen & Auswählen → Gehe Zu Special...)
  • Wählen Sie "Leerzeichen" und drücken Sie OKAY.
  • Alle leeren Zellen sind jetzt ausgewählt. Klicken Sie auf nichts.
  • Geben Sie "N/A" oder 0 ein und drücken Sie dann Strg+Eingeben. 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 soll.
  • Formel: =A1="N/A"
  • Format mit: Benutzerdefiniertes Format: Schriftfarbe weiß, keine Füllung.

Nullen ausblenden

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

_______________
Das ist Ctrl+Geben Sie, nicht Strg+Verschiebung+Geben Sie ein.

 29
Author: Benedikt Köppel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-07-24 14:01:37

Versuchen Sie, die Formel ="" (das sind zwei doppelte Anführungszeichen) in die benachbarte Zelle einzugeben, in der Sie den Überlauf nicht sehen möchten. Dies wird als "null" ausgewertet, was nichts anzeigt und sich nicht auf die Mathematik auswirkt.

 16
Author: microsecond,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-17 12:50:46

Erweitern Sie die Lösung der Verwendung von ' zum Blockieren von Excel ' s rechtes Verschütten von Text in benachbarte leere Zellen, manchmal möchten Sie Ihre Datenspalte nicht ändern/beschädigen, indem Sie diesen Wert dort einfügen.

Anstatt die ' in Ihre tatsächlichen Datenwerte einzufügen, können Sie eine neue dedizierte vertikale Spalte für diesen Zweck, vollständig gefüllt mit ' Zeichen den ganzen Weg nach unten.

1. Barriere Spalte

geben Sie hier die Bildbeschreibung ein

2. Fügen Sie links neben den zu schützenden Spalten die Spalte "Barriere" ein.

geben Sie hier die Bildbeschreibung ein

3. Reduzieren Sie die Barriere-Spalten, indem Sie ihre Spaltenbreite auf einen kleinen Wert

Legen Sie die Spaltenbreite auf einen Wert wie .1 fest, oder halten Sie alternativ die Spaltenbreite breiter, um als Rand - oder spaltenübergreifendes Leerzeichen zu fungieren.

geben Sie hier die Bildbeschreibung ein

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

4. Voila!

 4
Author: Glenn Slayden,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-09-20 23:35:57

Verwenden Sie die horizontale Textausrichtung "Fill" für die Zelle. Sie finden es an derselben Stelle wie andere Ausrichtungsoptionen das sollte Ihr problem lösen

Textausrichtung ausfüllen

 3
Author: Thomas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-10-31 18:10:03

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

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

 1
Author: e-mre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-06-24 08:59:09

In der gleichen Zeile des Denkens, dass Google Sheets nicht für alle sein kann, ist dieses Makro möglicherweise nicht für alle, aber es kann für jemanden sein.

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

Flags bestimmt, ob:

  • Der beleidigende Text wird in einem neuen an dieselbe relative Adresse kopiert arbeitsblatt oder wenn es verworfen wird.

  • Der abgeschnittene Text ist fest codiert oder über ein Arbeitsblatt verknüpft Formel =LEFT()

  • Der abgeschnittene Text wird mit der vollständigen Zeichenfolge im neuen Blatt 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

Letzter Hinweis: Ich habe es für persönliche Projekte verwendet und fand es zuverlässig, aber bitte Speichern und sichern Sie Ihre Arbeit, bevor Sie ein unbekanntes Makro ausprobieren.

 0
Author: ProfoundlyOblivious,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-09-23 04:17:44

Eine einfache Lösung, die darin bestehen kann, ' (ein Apostroph) in die nächste Zelle zu schreiben. Es ist in Excel selbst nicht sichtbar, stoppt jedoch den Überlauf aus der vorherigen Zelle.

Es ist keine Superlösung, aber es hat ziemlich gut für meinen begrenzten Fall funktioniert.

 0
Author: Ilya Chernomordik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-11 12:20:32

Antwort für Excel Online, nicht mit der Desktop-Version getestet.

Wählen Sie einfach die Spalte aus," Wrap "Text dann setzen Sie "Zeilenhöhe" auf eine niedrig genug Zahl (15 in dieser Demo verwendet), wie im Bild unten gezeigt: geben Sie hier die Bildbeschreibung ein

 0
Author: MichaelHabib,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2021-01-06 10:37:31