Leere Zeilen aus Excel Tabellen löschen

Es kommt ja öfters vor, dass in einer Excel Tabelle leere Zeilen enthalten sind, die man nicht gebrauchen kann. Durch leere Zeile lässt sich z.B. kein anständiger Filter setzen, um den Inhalt zu sortieren.

Bevor man nun umständlich mit VBA versucht die leeren Zeilen zu löschen, kann man das auch ganz einfach mit den Excel Bordwerkzeugen machen.

Ich habe in eine Tabelle vorbereitet, in der viele leere Zeilen vorhanden sind, die ich löschen möchte. Um das ein bisschen übersichtlicher zu gestalten, die blauen Zeilen sollen unbedingt erhalten bleiben und die weißen Zeilen dazwischen sollen gelöscht werden.

Leere Zeilen aus Excel Tabelle löschen

Markiert nun die Spalte in der sich die leeren Zellen der Zeile befinden, die ihr entfernen möchtet und drückt dann die Taste F5.
Leere Zeilen aus Excel Tabelle löschen

Leere Zeilen aus Excel Tabelle löschen

Leere Zeilen aus Excel Tabelle löschen

Leere Zeilen aus Excel Tabelle löschen

Leere Zeilen aus Excel Tabelle löschen

Leere Zeilen aus Excel Tabelle löschen

Leere Zeilen aus Excel Tabelle löschen

Excel – Werte aus Tabellen in einer Tabelle zusammenführen

Ich habe mal eine Frage, wie löst ihr folgendes Problem?

Ausgangssituation

In einer Excel-Arbeitsmappe gibt es mehrere gleiche Tabellen. Mit GLEICH meine ich, dass die Struktur und der Aufbau innerhalb der Tabellenblätter immer gleiche. Also ein bestimmter Wert steht in Tabelle 1, Tabelle 2, Tabelle 3, etc immer in der gleichen Zelle.

Nun zur Aufgabe. In der Arbeitsmappe gibt es eine Tabelle „Overview“ und dort sollen die Werte aus Tabelle 1 bis Tabelle 3 eingefügt werden.

Die einfachste Möglichkeit ist sicherlich in der Tabelle Overview den Cursor in die Zelle zu setzten wo der Wert eingefügt werden soll, dann „=“ einzugeben und mit der Maus in die Zellen in den einzelnen Tabellenblättern zu springen.

Was mich dabei stört, je mehr Tabellen und Werte in die Tabelle Overview übertragen werden sollen, desto länger dauert es.

Zur Verdeutlichung hier die Screenshots:

Tabelle 1
Tabelle 1

Tabelle 2
Tabelle 2
Tabelle 3
Tabelle 3
Tabelle Overview
Tabelle Overview
Tabelle Overview - Formeln
Tabelle Overview – Formeln

Overview
Overview

Hier eine Excel-Datei als Beispiel
Excel – Werte aus Tabellen in einer Tabelle zusammenführen

In der Beispieldatei sind die Werte aus Tabelle 1 bereits in die Tabelle Overview eingefügt worden mit der Formel =Tabelle1!C6, =Tabelle1!C10, =Tabelle1!C14, etc..

Wie kommen die Werte aus Tabelle 2 in die Tabelle Overview? Macht man sich die Mühe, jeden Wert manuell zu übertragen?

Wie macht ihr das?

Hier meine Lösung:

  • Erstelle eine neue Tabelle
  • Markiere den Bereich mit den bereits übertragenen Werten und drücke Strg+C
    Lösungsvorschlag
    Lösungsvorschlag
  • Wechsel in die neue, leere Tabelle und setzte den Cursor in die gleiche Zelle, wo in der Tabelle Overview der erste Wert steht, z.B. Overview!B3 + NeueTabelle!B3. Achtet darauf, dass ihr nur die Formel kopiert
    Lösungsvorschlag
    Lösungsvorschlag
  • Ändert dann für den kopierten Bereich die Formatierung auf TEXT ab.
    Lösungsvorschlag
    Lösungsvorschlag
  • Ersetzt das = durch ein Zeichen, dass nicht in der Formel vorkommt.
    Lösungsvorschlag
    Lösungsvorschlag
  • Kopiert den Bereich und …
    Lösungsvorschlag
    Lösungsvorschlag
  • … fügt diese in einen Editor. Im Beispiel wurde Notepad++ verwendet.
    Lösungsvorschlag
    Lösungsvorschlag
  • Der Tabellenbezug kann nun ganz einfach von Tabelle1 in Tabelle 2 geändert werden. Drückt Strg+F und ersetzt ?Tabelle1 durch =Tabelle2
    Lösungsvorschlag
    Lösungsvorschlag
  • Nachdem die Zellenbezüge geändert wurden, kopiert ihr die Formeln und …
    Lösungsvorschlag
    Lösungsvorschlag
  • … fügt diese in die Tabelle Overview ein und wie durch Zauberhand sind die Werte aus Tabelle 2 da.
    Lösungsvorschlag
    Lösungsvorschlag

Tabellen einer Excel-Arbeitsmappe in neuer Tabelle auflisten lassen

Mit diesem Makro ist es möglich, alle Tabellen einer Excel Arbeitsmappe in einer neuen Tabelle „Tablelist“ auflisten zu lassen.
Das Makro erzeugt neben der reinen Namensliste auch einen Hyperlink auf die Tabelle.

Sub ListeTabellen()
Dim wks As Worksheet
Dim Zeile As Long

'Wenn bereits Liste vorhanden, dann löschen
For Each wks In ThisWorkbook.Worksheets  
  If wks.Name = "Tablelist" Then
    Application.DisplayAlerts = False
    wks.Delete
    Application.DisplayAlerts = True
  End If
Next wks

Worksheets.Add
ActiveSheet.Name = "Tablelist"
ActiveSheet.Move Before:=Worksheets(1)
Zeile = 1

'schreibe alle Tabellennamen in eine neue Tabelle und hänge !A1 an
' erzeuge einen Link auf jede Tabelle
For Each wks In ThisWorkbook.Worksheets
'als Hyperlink
  With ThisWorkbook.Worksheets("Tablelist")
      .Hyperlinks.Add Cells(Zeile, 2), _
       Address:="", SubAddress:=wks.Name & "!A1"
  End With

  Zeile = Zeile + 1
Next wks

'Sortiere Liste in Spalte B
Columns("B:B").Sort Key1:=Range("B1"), Order1:=xlAscending

End Sub

Dynamischen Bereich in mehreren Tabellenblättern formatieren

Mit einem Excel-Makro lässt sich ein variabler Bereich sehr einfach formatieren.

Die Ausgangslage

  • Eine Arbeitsmappe mit mehreren Tabellenblättern
  • In jedem Tabellenblatt sind Informationen in immer dem gleichen Bereich eingetragen, z.B. B12:F
  • Die Anzahl der beschriebenen Zeilen variiert von Tabellenblatt zu Tabellenblatt

Das Ziel
Wir möchten nun in jedem Tabellenblatt den Bereich formatieren, aber allerdings nur bis zur letzten beschriebenen Zeile. Somit könnte sich ergeben

  • Tabelle1: Bereich B12:F30
  • Tabelle2: Bereich B12:F60

Das Ganze lässt sich einfach mit einem Makro erledigen.

Sub FormatierungAusgabebereich()
'
' das Makro ermittelt die letzte beschriebene Zeile im Bereich B12:N und formatiert diesen
'
'
Dim letzte As Long
    letzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
   
   
   Range("B12:n" & letzte).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
End Sub

Die Formatierung kann man sich auch mühsam manuell eintragen, jedoch würde ich empfehlen, die Aufzeichnungsfunktion zu nutzen.

Damit man sich ein bisschen Arbeit spart, kann man das obige Makro nur einmal definieren und dann über ein Makro, dass die jeweilige Tabelle auswählt, aufrufen lassen.

Tabelle 1

Sub Tabelle1
   Sheets("Tabelle1").Select
   Call FormatierungAusgabebereich
End Sub

Tabelle 2

Sub Tabelle1
   Sheets("Tabelle2").Select
   Call FormatierungAusgabebereich
End Sub