2017-02-03 8 views
2

Ich habe eine Excel-Datei mit Zeiten, die Läufer bei 9 Zwischenprüfungen angekommen. Daher ist die Gesamtzahl der Male für jeden Teilnehmer 9, aber viele Einträge zwischen den tatsächlichen Zeiten sind Leerzeichen. Wie kann ich die leeren Räume in jeder Spalte löschen?Löschen von Leerzeichen in Excel oder CSV oder Textdatei

enter image description here

Ich habe versucht, zu txt konvertieren und das ohne Erfolg nach zu tun, weil es nicht mehr ist eine Trennung zwischen den Spaltenzeiten:

tr -d ' ' <input.txt> no-spaces.txt 
tr -d '[:blank:]' <input.txt> no-spaces.txt 
tr -d '[:space:]' <input.txt> no-spaces.txt 

https://askubuntu.com/questions/537956/sed-to-delete-blank-spaces

Was ich nachdem es etwas wie das Folgende:

enter image description here

+0

VBA könnte durch die Spalten zyklisch durchlaufen und entfernen Sie die Leerzeichen durch SpecialCells (xlCellTypeBlank). Löschen oder möglicherweise sortieren (letztere abhängig davon, ob die Zeiten immer in aufsteigender Reihenfolge sind). – Jeeped

Antwort

2

Mit VBA können Sie:

Sub deleteBlanks() 
    Columns("A:Z").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp 
End Sub 

Bevor:

enter image description here

Nach:

enter image description here

Oder Sie können einen Autofilter verwenden, so dass Sie leere Zeilen in jeder Spalte ausblenden können ... dann können Sie einen Bereich auswählen und kopieren und als Werte einfügen.

+1

Wenn die leeren Zellen unregelmäßig sind, müssen Sie möglicherweise durch die Spalten blättern. – Jeeped

+0

Vielen Dank für die schnelle Antwort. Sie sind unregelmäßig für jede Spalte .... – HCAI

+0

@ HCAI, wie Sie durch die Bilder sehen können, funktioniert mein Code für Ihr spezifisches Problem. Das funktioniert, weil ich jede Zelle bei "Columns (" A: Z ") lösche. SpecialCells (xlCellTypeBlanks). Delete Shift: = xlUp', anstatt jede Zeile zu entfernen, indem' Worksheet.Columns ("A: Z") verwendet wird. SpecialCells (xlCellTypeBlanks) .EntireRow.Delete' –

Verwandte Themen