Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen löschen

Zeilen löschen
21.04.2016 08:26:21
Sascha

Hallo zusammen,
ich stehe mal wieder vor einem Problem. Wir erstellen mit unserer internen Software einen Bericht und haben inzwischen die Funktion diesen als xlsx zu exportieren. Dabei werden nach jedem Eintrag Werte mit angezeigt, die wir nicht benötigen aber auch nicht rausfiltern können. Aufbau ist im Prinzip eine Zeile mit benötigtem Inhalt, dann kommt eine Zeile (die leider aus verbundenen Zellen besteht) die nicht benötigt wird. Diese Zeile beginnt immer folgendermaßen "2 berechtigt, 9 teilweise usw...", sprich das Erste Zeichen dieser Zeile ist eine Zahl. Dann kommt noch eine Zeile ohne Inhalt danach wiederholt sich das ganze immer wieder.
Ich habe es schon geschafft per Makro alle leeren Zeilen zu entfernen.
Gibt es eine Möglichkeit zu prüfen ob in Spalte A eine Zelle mit einer Zahl beginnt und diese dann automatisch zu löschen?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen
21.04.2016 08:44:08
UweD
Stehen die zu untersuchenden Daten alle in einer Spalte (A) ?

AW: Zeilen löschen
21.04.2016 08:45:56
Sascha
Ja, bzw. handelt es sich immer um verbundene Zellen A bis J

AW: Zeilen löschen
21.04.2016 10:11:14
Fennek
Hallo,
der vba-Befehl um 'verbunden Zellen' wieder aufzulösen ist:
Schleife über alle Zeilen der Spalte A

If cells(i,1).mergecells then cells(i,1).mergecells = false
Wenn es noch Fragen gibt, bitte melden.
Mfg

AW: Zeilen löschen
21.04.2016 10:15:21
Sascha
Hallo,
danke für den Ansatz aber was ich brauche ist das jede Zeile die mit einer Zahl (z.B. "3 berechtigt") anfängt komplett gelöscht wird. Bei festen Werten würde ich es hinkriegen aber da die Zeilen immer mit anderen Zahlen beginnen und zusätzlich noch Text enthalten bin ich leider ratlos.

Anzeige
AW: Zeilen löschen: noch einfacher
21.04.2016 10:15:33
Fennek
Hallo,
'Merged-cells' sind ja ein Tabu-Thema, deswegen kannte ich mich nicht aus.
Einfacher ist:

Activesheet.cells.mergecells = false
und alle sind aufgelöst.
Mfg

AW: Zeilen löschen: noch einfacher
21.04.2016 10:28:39
Sascha
Hallo,
anbei mal eine Beispieldatei.
https://www.herber.de/bbs/user/105128.xlsx
Die Zeilen die mit Kundenname (hier anonymisiert) beginnen, sollen bleiben wie sie sind.
Die Zeilen die mit (1 test, usw...) drin stehen sollen komplett gelöscht werden. Also die ganze Zeile entfernt.
Ich möchte nichts an den verbundenen Zellen ändern, da auch in den anderen Bereichen verbundene Zellen sind die unberührt bleiben sollen.

Anzeige
AW: Zeilen löschen
21.04.2016 10:31:30
Daniel
Hi
wenn der Zellverbund sich in einer Zeile über mehrere Zellen erstreckt, sollte das kein Problem sein.
zum Löschen aller Leerzeilen und Zeilen, die mit einer Ziffer beginnen, kannst du so vorgehen:
1. schreibe in die erste freie Spalte am Tabellenende eine Formel, welche alle Zeilen, die gelöscht werden sollen mit 0 kennzeichnet und die die stehen bleiben müssen mit der Zeilennummer:
=WENN(ODER($A1="";ISTZAHL(--LINKS($A1;1)));0;ZEILE())
2. schreibe in die Überschriftenzeile der Hilfsspalte ebenfalls die 0
3. Wende auf die ganze Tabelle die Funktion Daten - Datentools - Duplikate entfernen an.
4. lösche die Hilfsspalte
geht natürlich aus als makro:
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(OR(RC1="""",ISNUMBER(--Left(RC1,1))),0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .Column, xlNo
.ClearContents
End With
End With

Gruß Daniel

Anzeige
AW: @Daniel
21.04.2016 10:58:42
Fennek
Hi,
Ein Konstruktion mit
If left(cells(x,x),1) like "#" then
wäre zu überlegen.
Mfg

AW: @Daniel
21.04.2016 11:11:38
Daniel
Hi
richtig, aber die dem Like vergleichbaren Excelfunktionen ZählenWenn und Suchen kennen nur die Jokerzeichen "?" und "*", aber nicht das "#" für eine Ziffer.
Like müsste man dann in VBA einsetzen und die Zeilen per Schleife ermittlen und löschen, das ist aber im vergleich zur gezeigten Lösung viel langsamer.
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige