WENN-DANN-SONST leere Zeile entfernen?

... komplette Frage anzeigen

3 Antworten

Ich habe mal eine Funktion zum Löschen leerer Zeilen aus einem Bereich geschrieben. Geht sicherlich auch eleganter, aber hier ist meine Lösung:

Public Function LOESCHELEERZEILEN(Bereich As Range) As Variant
Dim i, j As Integer
Dim iZeilen As Integer Dim resMatrix() As Variant Dim baZeileEmpty() As Boolean ReDim Preserve baZeileEmpty(1 To Bereich.Rows.Count) ' Leere Zeilen bestimmen iZeilen = 0 For i = 1 To Bereich.Rows.Count baZeileEmpty(i) = True For j = 1 To Bereich.Columns.Count If Not IsEmpty(Bereich.Cells(i, j).Value) Then baZeileEmpty(i) = False iZeilen = iZeilen + 1 Exit For End If Next Next ' Alle nichtleeren Zeilen kopieren If iZeilen > 0 Then ReDim resMatrix(1 To iZeilen, 1 To Bereich.Columns.Count) iZeilen = 1 For i = 1 To Bereich.Rows.Count If Not baZeileEmpty(i) Then For j = 1 To Bereich.Columns.Count If Not IsEmpty(Bereich.Cells(i, j).Value) Then resMatrix(iZeilen, j) = Bereich.Cells(i, j).Value Else resMatrix(iZeilen, j) = "" End If Next iZeilen = iZeilen + 1 End If Next End If LOESCHELEERZEILEN = resMatrix End Function
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von honeyainring
17.11.2015, 16:06

Entweder bin ich zu blöd dafür - oder es funktioniert einfach nicht...
Ich geh unter Entwicklermodus - VisualBasics - dann in das Tabellenblatt rein und füge hier den Code ein...

0

Wenn eine Zeile komplett entfernt werden soll, kommst Du nicht an einem Macro vorbei. Normale Excel-Formeln können nicht so stark eingreifen, als dass sie ganze Zellen/Zeilen/Spalten löschen würden.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von honeyainring
17.11.2015, 14:17

Wie schwierig ist das mit dem Makro? Kriegt man das als nicht Excel-Genie auch hin oder muss man dazu recht viel drauf haben...

0

Ich verstehe das Problem noch nicht ganz.

Wo sind denn leere Zeilen?
In Tabelle 1?, dann sollten diese leerzeilen ja auch in der tabelle 2 auftreten, sonst passen die Daten ja nicht mehr zueinander, bzw nicht mehr automatisch.
Oder entstehen die leeren Zeilen in Tabelle 2?
Aber warum sind dort ganze Zeilen leer, die Formel sorgt doch lediglich für leere ZELLEN.
Oder soll die Aufgabenstellung wie folgt sein:

Die neue Tabelle hat nur eine Spalte und in dieser stehen untereinander die Werte aus Spalte B bei denen D  = ja gilt?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von honeyainring
17.11.2015, 14:33

In Tabelle 1 sind mehrere Angaben u.a. eine Frage, die mit JA und NEIN beantwortet wird. Es  soll einige Zellen übertragen, wenn der Wert JA ist - ist der Wert aber NEIN - so bleibt in Tabelle 2 die ganze Zeile leer, da ja nur die JA-Werte übertragen werden sollen

0

Was möchtest Du wissen?