Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellengröße per Makro anpassen

Forumthread: Tabellengröße per Makro anpassen

Tabellengröße per Makro anpassen
29.11.2017 09:41:33
Egon
Hallo Freunde,
wer kann mir bitte helfen.
Ich habe eine Tabelle (Tab_1), in welcher ich per Makro von einem anderen Excelblatt (Rohdaten) die Daten einspiele.
Die Spaltenlänge der Rohdaten sind immer unterschiedlich lang, deshalb bleiben
in "Tab_1" auch immer Leerzeilen unterhalb des letzten Eintrages vorhanden.
Wie kann ich nun mit einem Makro diese Leerzeilen löschen, so daß sich die Tabellengröße von "Tab_1" beim Ausführen des Makros, immer an den letzten Eintrag anpasst?
Danke für die Hilfe
Egon
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was meinst Du mit Leerzeilen löschen...
29.11.2017 11:24:04
Michael
Egon,
...unterhalb des letzten Eintrages? Ein Tabellenblatt hat in Excel 2010 über 1 Million Zeilen - wenn Du also weniger Datensätze (Zeilendaten) einfügst, werden immer Zeilen "überbleiben", was Du da löschen willst, ist mir nicht klar. Vielleicht meinst Du aber ausblenden der nicht benötigten Zeilen? Also etwa so:
Vorher:
Userbild
Nachher:
Userbild
?
LG
Michael
Anzeige
AW: Was meinst Du mit Leerzeilen löschen...
29.11.2017 11:38:46
Egon
Hallo Michael,
ich möchte nur die leeren Zeilen einer benannten Tabelle löschen, nicht alle leeren Zeilen
des Tabellenblattes.
Habe eine Beispieldatei hochgeladen:
In diesem Beispiel, möchte ich, daß in der benannten Tabelle ("Tabelle Test") die Zeilen 29-36 gelöscht werden. Dies restlichen leeren Zeilen unterhalb des Tabelle können bleiben.
Vielen Dank für die Hilfe
Userbild
Anzeige
AW: Was meinst Du mit Leerzeilen löschen...
29.11.2017 12:52:06
Michael
Hallo!
Aha, formatierte Tabelle! Das hättest Du auch gleich sagen können ;-). Folgendes Makro wirkt auf dem aktiven Blatt, auf dessen 1. formatierter Tabelle und löscht "überschüssige" Datenzeilen; die letzte Datenzeile bemisst sich nach den Einträgen der 1. Spalte.
Sub a()
Dim Ws As Worksheet: Set Ws = ActiveSheet
Dim r As Range, s&, i&
Application.ScreenUpdating = False
With Ws.ListObjects(1)
Set r = .DataBodyRange.Resize(.DataBodyRange.Rows.Count, 1)
r.Select
s = WorksheetFunction.CountA(r)
If s 
LG
Michael
Anzeige
Code korrigiert...
29.11.2017 12:58:56
Michael
...war noch was Unnötiges drin, sorry:
Sub a()
Dim Ws As Worksheet: Set Ws = ActiveSheet
Dim r As Range, s&, i&
Application.ScreenUpdating = False
With Ws.ListObjects(1)
Set r = .DataBodyRange.Resize(.DataBodyRange.Rows.Count, 1)
s = WorksheetFunction.CountA(r)
If s 
LG
Michael
Anzeige
AW: Tabellengröße per Makro anpassen
29.11.2017 13:30:36
Egon
Hallo Michael,
vielen Dank, hat super geklappt :-) TOP SACHE !!
;
Anzeige
Anzeige

Infobox / Tutorial

Tabellengröße per Makro anpassen


Schritt-für-Schritt-Anleitung

Um die Tabellengröße in Excel per Makro anzupassen, kannst du folgendes VBA-Makro verwenden. Dieses Script entfernt leere Zeilen aus einer benannten Tabelle und passt die Excel Tabellengröße an.

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Sub AnpassungDerTabellengroesse()
        Dim Ws As Worksheet
        Set Ws = ActiveSheet
        Dim r As Range, s As Long
    
        Application.ScreenUpdating = False
        With Ws.ListObjects(1)
            Set r = .DataBodyRange.Resize(.DataBodyRange.Rows.Count, 1)
            s = WorksheetFunction.CountA(r)
            If s < .ListRows.Count Then
                .Resize .Range.Resize(s + 1)
            End If
        End With
        Application.ScreenUpdating = True
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Mit diesem Makro wird die Excel Tabelle verkleinert, indem nur die benötigten Zeilen in der Tabelle erhalten bleiben.


Häufige Fehler und Lösungen

  • Fehler: "Das Makro funktioniert nicht, weil die Tabelle leer ist."

    • Lösung: Stelle sicher, dass deine Tabelle mindestens einen Eintrag hat, bevor du das Makro ausführst.
  • Fehler: "Die Tabelle hat 1 Million Zeilen, aber das Makro löscht nicht alle leeren Zeilen."

    • Lösung: Das Makro bezieht sich nur auf die DataBodyRange der Tabelle. Leere Zeilen außerhalb dieser Range werden nicht gelöscht.

Alternative Methoden

Falls du keine Makros verwenden möchtest, kannst du auch manuell die Tabellengröße ändern:

  1. Wähle die Tabelle aus.
  2. Klicke auf das Tabellenwerkzeug > Entwurf.
  3. Hier kannst du die Tabellengröße anpassen, indem du die Daten manuell eingibst oder über die Filteroptionen leere Zeilen ausblendest.

Praktische Beispiele

  • Um Excel Tabellengröße anzupassen und leere Zeilen zu entfernen, kannst du die oben genannten Makros verwenden. Dies ist besonders nützlich, wenn du regelmäßig Daten importierst und die Tabellengröße dynamisch halten möchtest.

  • Ein Beispiel für eine Tabelle könnte wie folgt aussehen:

    Name Alter
    Max 25
    Anna 30

Das Makro wird die leeren Zeilen unterhalb von Anna entfernen, sodass nur die Zeilen mit Daten übrig bleiben.


Tipps für Profis

  • Verwalte deine Makros in einer VBA-Projektmappe, um sie einfach zu finden und zu bearbeiten.
  • Nutze die VBA ListObject Resize Methode, um die Daten dynamisch zu verwalten, besonders wenn du oft mit großen Datenmengen arbeitest.
  • Halte deine Excel-Version aktuell, um alle Funktionen und Optimierungen nutzen zu können.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um eine bestimmte Anzahl von Zeilen zu behalten? Du kannst die Zeilenzahl im Makro ändern, indem du die Bedingung für s anpasst.

2. Ist das Makro mit allen Excel-Versionen kompatibel? Das Makro wurde für Excel 2010 und höher getestet. Stelle sicher, dass du die richtige Version verwendest, um alle Funktionen zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige