it-swarm.com.de

Excel sagt mir, dass meine leeren Zellen nicht leer sind

In Excel versuche ich also, die leeren Zellen zwischen meinen Zellen, in denen sich Informationen befinden, zu entfernen, indem ich die leeren Zellen mit F5 finde und dann mit Strg + - lösche und die Zellen nach oben schiebe. Aber wenn ich das versuche, sagt es mir, dass es keine Zellen gibt.

Ich habe festgestellt, dass Excel bei der Auswahl meiner leeren Zellen immer noch zählt: Like in this picture das ist komisch. Wenn ich jedoch in den ausgewählten Zellen die Taste "Löschen" drücke, wird der Zähler gelöscht, und dann kann ich mit F5, Leerzeichen, Strg + - und Shift-Zellen nach oben gehen und es funktioniert ...

Meine Frage ist also, wie kann ich das noch tun, aber mit diesen leeren Zellen, von denen Excel denkt, dass sie nicht leer sind? Ich habe versucht, durchzugehen und einfach auf die leeren Zellen zu drücken, aber ich habe viele Daten und erkannte, dass es mich zu lange dauern würde. Ich muss einen Weg finden, diese 'leeren' Zellen innerhalb einer Auswahl von Daten auszuwählen.

Vielen Dank im Voraus für Ihre Hilfe! :)

20
Vanya Burduk

Eine Offenbarung: Einige leere Zellen sind nicht wirklich leer! Wie ich zeigen werde, können Zellen Leerzeichen, Zeilenumbrüche und echte Leerzeichen enthalten:

example

Um diese Zellen schnell zu finden, können Sie einige Dinge tun.

  1. Die Formel =CODE(A1) gibt ein # VALUE! zurück, wenn die Zelle wirklich leer ist, andernfalls wird eine Zahl zurückgegeben. Diese Nummer ist die ASCII-Nummer , die in =CHAR(32) verwendet wird.
  2. Wenn Sie die Zelle auswählen und in die Bearbeitungsleiste klicken und mit dem Cursor alle auswählen. newline selection example

Entfernen dieser:

Wenn Sie nur ein Leerzeichen in den Zellen haben , können diese einfach entfernt werden:

  1. Drücken Sie ctrl + h zum öffnen suchen und ersetzen.
  2. Geben Sie ein Leerzeichen in das Feld ein und suchen Sie, was , lassen Sie durch ersetzen und stellen Sie sicher Sie haben den gesamten Zelleninhalt abgeglichen ist in den Optionen angekreuzt.
  3. Drücken Sie , um alle zu ersetzen .

Wenn Sie Zeilenumbrüche haben, ist dies schwieriger und erfordert VBA:

  1. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte> Code anzeigen.
  2. Geben Sie dann den folgenden Code ein. Denken Sie daran, dass Chr(10) eine neue Zeile ist. Ersetzen Sie diese nur nach Bedarf, z. " " & Char(10) ist ein Leerzeichen und ein Zeilenumbruch:

    Sub find_newlines()
        With Me.Cells
            Set c = .Find(Chr(10), LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then
                firstAddress = c.Address
                Do
                    c.Value = ""
                    Set c = .FindNext(c)
                    If c Is Nothing Then Exit Do
                Loop While c.Address <> firstAddress
            End If
        End With
    End Sub
    
  3. Führen Sie nun Ihren Code aus und drücken Sie F5.


Nach der Bereitstellung der Datei : Wählen Sie den gewünschten Bereich aus, um die Leistung zu verbessern, und führen Sie dann Folgendes aus:

Sub find_newlines()
    With Selection
        Set c = .Find("", LookIn:=xlValues, LookAt:=xlWhole)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                c.Value = ""
                Set c = .FindNext(c)
                If c Is Nothing Then Exit Do
            Loop While c.Address <> firstAddress
        End If
    End With
End Sub
14
glh

eine einfache Möglichkeit, diese leeren Zellen auszuwählen und zu löschen, um sie leer zu machen:

  1. Drücken Sie ctrl + a oder wählen Sie Ihren Bereich vor
  2. Drücken Sie ctrl + f
  3. Lassen Sie finde was leer und wählen Sie entspricht dem gesamten Zelleninhalt.
  4. Drücke finde alle
  5. Drücken Sie ctrl + a um alle gefundenen leeren Zellen auszuwählen
  6. Schließen Sie den Suchdialog
  7. Drücken Sie backspace oder delete
23
glh

Das hat für mich funktioniert:

  1. CTR-H, um das Suchen und Ersetzen anzuzeigen 
  2. lassen Sie "Suchen nach" leer
  3. Ändern Sie "Ersetzen mit" in einen eindeutigen Text, der Sie sind
    Positiv wird nicht in einer anderen Zelle gefunden (ich habe 'xx' verwendet) 
  4. klicken Sie auf .__ 'Alle ersetzen' 
  5. kopieren Sie den eindeutigen Text in Schritt 3 unter "Suchen nach". 
  6. löschen Sie den eindeutigen Text in "Ersetzen durch". 
  7. klicken Sie auf "Alle ersetzen".
13
mike

Ich hatte ein ähnliches Problem, als verstreute leere Zellen aus einem Export aus einer anderen Anwendung immer noch in Zellzahlen auftauchten. 

Ich habe es geschafft, sie zu löschen 

  1. Auswahl der Spalten/Zeilen, die ich reinigen wollte, dann tun
  2. "Suchen" [kein Text] und "Ersetzen" [Wort der Wahl].
  3. Dann habe ich "Suchen" [Wort der Wahl] und "Ersetzen" mit [kein Text]. 

Es wurde alle versteckten/Phantom-Zeichen in diesen Zellen los. Vielleicht funktioniert das für Sie?

4
Robin

Alles ist ziemlich einfach. Ich habe das Gleiche versucht und dies hat bei VBA für mich funktioniert

Range("A1:R50").Select    'The range you want to remove blanks
With Selection
    Selection.NumberFormat = "General"
    .Value = .Value
End With

Viele Grüße, .__ Anand Lanka

2
user4649182

Nicht sicher, ob dies bereits gesagt wurde, aber ich hatte ein ähnliches Problem mit Zellen, die nichts enthalten, aber nicht leer sind, wenn Sie die IsBlank () - Formel ausführen. 

Ich habe die gesamte Spalte ausgewählt, Suchen & Ersetzen ausgewählt, Zellen mit nichts gefunden und durch eine 0 ersetzt. Dann habe ich Suchen und Ersetzen erneut ausgeführt, Zellen mit 0 gefunden und durch "" ersetzt. 

Dies löste mein Problem und erlaubte mir, nach leeren Zellen (F5, Spezial, Leerzeichen) zu suchen und leere Zeilen zu löschen .... BOOM. 

Funktioniert möglicherweise nicht für jede Anwendung, aber das hat mein Problem gelöst. 

Manchmal gibt es Leerzeichen in Zellen, die leer erscheinen, aber wenn Sie in der Zelle F2 drücken, werden Leerzeichen angezeigt. Sie können auch auf diese Weise suchen, wenn Sie die genaue Anzahl der Felder in einer Zelle kennen

1
Ryan

Einen anderen Weg gefunden. Legen Sie AutoFilter für alle Spalten fest (wichtig oder Sie werden Daten falsch ausrichten), indem Sie die Kopfzeile> Registerkarte "Daten" auswählen> Sortieren und filtern - "Filter". Verwenden Sie das Dropdown-Menü in der ersten Datenspalte. Deaktivieren Sie "Alle auswählen" und wählen Sie nur die Option "(Leerzeichen)"> [OK]. Zeilen markieren (jetzt alle zusammen)> Rechtsklick> 'Zeile löschen'. Gehen Sie zurück zum Dropdown-Menü> "Alle auswählen". Presto :)

1
Jenny
'Select non blank cells
Selection.SpecialCells(xlCellTypeConstants, 23).Select
' REplace tehse blank look like cells to something uniqu
Selection.Replace What:="", Replacement:="TOBEDELETED", LookAt:=xlWhole, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
'now replace this uique text to nothing and voila all will disappear
Selection.Replace What:="TOBEDELETED", Replacement:="", LookAt:=xlWhole, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
1
Andras

Wenn Sie keine Formatierungen oder Formeln haben möchten, die beibehalten möchten, können Sie versuchen, Ihre Datei als durch Tabulatoren getrennte Textdatei zu speichern, zu schließen und mit Excel erneut zu öffnen. Das hat bei mir funktioniert.

1
Curt

Das funktioniert mit Zahlen.

Wenn Ihr Bereich O8: O20 ist, geben Sie in einem nahe gelegenen leeren Bereich (z. B. T8: T20) = O8/1 ein und füllen Sie das Feld aus. Dadurch erhalten Sie ein Ergebnis von #VALUE für die leeren Zellen, und Ihre ursprüngliche Nummer bleibt unverändert. 

Wenn der Bereich T8: 20 ausgewählt ist (CTL- *, falls noch nicht geschehen), drücken Sie F5 und wählen Sie Spezial. Wählen Sie im Spezialdialogfeld Fehler und klicken Sie auf OK. Dadurch werden Ihre tatsächlichen Zahlen deaktiviert, wobei nur die # WERT-Zellen ausgewählt werden. Löschen Sie sie und Sie haben tatsächlich leere Zellen. Kopiere T8: T20 und füge wieder über O8: O20 ein.

Da leere Zellen nicht funktionieren, müssen Sie die 'leeren' Zellen in etwas umwandeln, an das sich Go To Special anschließen kann. Jede Aktion, die in #VALUE konvertiert würde, würde funktionieren, und andere 'Fehler'-Typen sollten ebenfalls unterstützt werden.

0
mockman

Meine Methode ähnelt dem Vorschlag von Curt über das Speichern als durch Tabulatoren getrennte Datei und das erneute Importieren von . Sie setzt voraus, dass Ihre Daten nur Werte ohne Formeln haben . Dies ist wahrscheinlich eine gute Annahme, da das Problem " schlechte "Leerzeichen werden durch die Verwirrung zwischen Leerzeichen und Nullen verursacht - normalerweise in den Daten, die von einem anderen Ort importiert werden - daher sollten keine Formeln vorhanden sein . Meine Methode ist die Verwendung von parse in place - Sehr ähnlich wie das Speichern als Textdatei und das erneute Importieren, aber Sie können dies tun, ohne die Datei zu schließen und erneut zu öffnen .. __ Sie befindet sich unter Daten> Textspalten> getrennt und entfernt alle Analysezeichen (kann auch wählen Text, wenn Sie möchten)> Fertig stellen. Dies sollte dazu führen, dass Excel Ihre Daten von Grund auf oder von Text erkennt und Leerzeichen als wirklich leer erkennt. Sie können dies in einer Subroutine automatisieren:

Sub F2Enter_new()         
   Dim rInput As Range
   If Selection.Cells.Count > 1 Then Set rInput = Selection
   Set rInput = Application.InputBox(Title:="Select", Prompt:="input range", _ 
                                     Default:=rInput.Address, Type:=8)
'   Application.EnableEvents = False: Application.ScreenUpdating = False
   For Each c In rInput.Columns
      c.TextToColumns Destination:=Range(c.Cells(1).Address), DataType:=xlDelimited, _
      TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
      Semicolon:=False, Comma:=False, Space:=False, Other:=False, _
      FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
   Next c
   Application.EnableEvents = True: Application.ScreenUpdating = True
End Sub

Sie können diese kommentierte Zeile auch einschalten, damit dieses Unterprogramm "im Hintergrund" ausgeführt wird. Bei dieser Subroutine wird die Leistung nur geringfügig verbessert (für andere kann es sehr helfen). Der Name ist F2Enter, da die ursprüngliche manuelle Methode zur Behebung dieses "Leerzeichen" -Problems darin besteht, dass Excel die Formel durch Drücken von F2 erkennt und Enter.

0
Alex124948

So habe ich dieses Problem ohne Codierung behoben.

  1. Wählen Sie die gesamte Spalte aus, aus der die leeren Zellen gelöscht werden sollen.
  2. Klicken Sie oben auf die Registerkarte Bedingte Formatierung.
  3. Wählen Sie "Neue Regel".
  4. Klicken Sie auf "Nur Zellen formatieren, die enthalten".
  5. Ändern Sie "zwischen" in "gleich".
  6. Klicken Sie auf das Feld neben dem Feld "Gleich".
  7. Klicken Sie auf eine der leeren Zellen des Problems.
  8. Klicken Sie auf die Schaltfläche Format.
  9. Wählen Sie eine zufällige Farbe aus, um das Feld mit zu füllen.
  10. Drücke OK".
  11. Daraufhin sollten alle leeren Zellen des Problems in die von Ihnen gewählte Farbe geändert werden. Klicken Sie mit der rechten Maustaste auf eine der farbigen Zellen und wählen Sie "Sortieren" und "Ausgewählte Zellenfarbe oben einfügen".
  12. Dadurch werden alle Problemzellen oben in der Spalte angezeigt. Jetzt bleiben alle anderen Zellen in der ursprünglichen Reihenfolge, in der Sie sie eingefügt haben. Sie können jetzt alle Problemzellen in einer Gruppe auswählen und auf die Schaltfläche zum Löschen der Zelle klicken um sie loszuwerden.
0
Corey

Goto-> Spezial-> Leerzeichen mögen keine zusammengefügten Zellen. Versuchen Sie, die Zellen oberhalb des Bereichs zu entfernen, in dem Sie Leerzeichen auswählen möchten, und versuchen Sie es erneut.

0
roikyibryant

Die einfachste Lösung für mich war:

1) Wählen Sie den Bereich aus und kopieren Sie ihn (Strg + C).

2) Erstellen Sie eine neue Textdatei (an einer beliebigen Stelle wird diese bald gelöscht), öffnen Sie die Textdatei und fügen Sie die Excel-Informationen ein (Strg + V).

3) Jetzt, da die Informationen in Excel in der Textdatei enthalten sind, wählen Sie alles in der Textdatei aus (Strg + a) und kopieren Sie dann (Strg + c).

4) Gehen Sie in Schritt 1 zum Anfang des ursprünglichen Bereichs und fügen Sie die alten Informationen aus der Kopie in Schritt 3 ein.

ERLEDIGT! Keine falschen Leerzeichen mehr! (Sie können jetzt die temporäre Textdatei löschen.)

0
treyr

Ich hatte ein ähnliches Problem mit der COUNTA-Formel, um nicht leere Zellen zu zählen, es wurden alle gezählt (sogar die leeren als nicht leer). Ich versuchte = CODE (), aber sie hatten keine Leerzeichen oder neuen Zeilen. 

Ich fand heraus, dass, wenn ich in die Zelle klickte und dann herausklickte, die Formel die Zelle zählte. Ich hatte Tausende von Zellen und konnte dies nicht manuell tun. Ich habe diese VBA-Anweisung geschrieben, um buchstäblich alle Zellen zu überprüfen, und wenn sie leer waren, dann, um sie leer zu machen. Ignorieren Sie die Sinnlosigkeit dieses Makros und vertrauen Sie mir darauf, dass es tatsächlich funktioniert, indem Sie Excel zwingen, die leeren Zellen als tatsächlich leer zu erkennen.

'This checks all the cells in a table so will need to be changed if you're using a range
Sub CreateBlanks()

Dim clientTable As ListObject
Dim selectedCell As Range

Set clientTable = Worksheets("Client Table").ListObjects("ClientTable")

For Each selectedCell In clientTable.DataBodyRange.Cells
    If selectedCell = "" Then
        selectedCell = ""
    End If
Next selectedCell
End Sub
0
Gareth Brown