Microsoft Excel

Herbers Excel/VBA-Archiv

Macro stürzt ab wenn Tabelle leer

Betrifft: Macro stürzt ab wenn Tabelle leer von: D.Henschel
Geschrieben am: 07.03.2016 14:07:17

Hallo zusammen,

habe folgendes Macro zum löschen 3er Tabellen (nur den Inhalt - nicht die Überschrift) (sehr simpel)

Sub Del_Rows()
    Range("Table1").EntireRow.Delete
    Range("Table2").EntireRow.Delete
    Range("Table10").EntireRow.Delete
End Sub

Wie kann ich einen Check einfügen, damit er schaut ob überhaupt noch Inhalt in den jeweiligen Tabellen vorhanden ist. Das Macro stürzt nämlich ab sobald eins der Tabellen keinen Inhalt hat.

VG!

  

Betrifft: AW: Macro stürzt ab wenn Tabelle leer von: snb
Geschrieben am: 07.03.2016 14:25:52

lisbobjects(1).databodyrange.entirerow.delete



  

Betrifft: AW: Macro stürzt ab wenn Tabelle leer von: D.Henschel
Geschrieben am: 07.03.2016 14:35:49

Danke. Es sollen nicht alle Tabellen gelöscht werden, nur diese 3 - geht das damit auch?


  

Betrifft: AW: Macro stürzt ab wenn Tabelle leer von: D.Henschel
Geschrieben am: 07.03.2016 14:35:50

Danke. Es sollen nicht alle Tabellen gelöscht werden, nur diese 3 - geht das damit auch?


  

Betrifft: AW: Macro stürzt ab wenn Tabelle leer von: Michael (migre)
Geschrieben am: 07.03.2016 14:30:36

Hallo!

zB so: (in diesem Fall werden alle Daten in Tabellen auf dem aktiven Blatt gelöscht, sofern überhaupt Daten vorhanden sind)

Sub a()

    Dim itab As ListObject
    
    For Each itab In ActiveSheet.ListObjects
        If itab.ListRows.Count >= 1 Then
            itab.DataBodyRange.Delete
        End If
    Next
    
End Sub
LG
Michael


  

Betrifft: AW: Macro stürzt ab wenn Tabelle leer von: D.Henschel
Geschrieben am: 07.03.2016 14:34:54

Danke Michael. Die Tabellen befinden sich jedoch auf verschiedenen Arbeitsblättern und es sollen nicht alle Tabellen gelöscht werden, nur diese 3.


  

Betrifft: AW: Macro stürzt ab wenn Tabelle leer von: Michael (migre)
Geschrieben am: 07.03.2016 14:51:19

Dann so

Sub aa()

    Dim ws As Worksheet
    Dim itab As ListObject
    
    For Each ws In ThisWorkbook.Worksheets
        For Each itab In ws.ListObjects
            Select Case itab.Name
                Case "Table1", "Table2", "Table10"
                    If itab.ListRows.Count >= 1 Then
                        itab.DataBodyRange.Delete
                    End If
            End Select
        Next
    Next
End Sub
LG
Michael


  

Betrifft: AW: Macro stürzt ab wenn Tabelle leer von: D.Henschel
Geschrieben am: 07.03.2016 15:26:26

Perfekt, danke


  

Betrifft: Gerne, Danke für die Rückmeldung, owT von: Michael (migre)
Geschrieben am: 07.03.2016 15:41:32




 

Beiträge aus den Excel-Beispielen zum Thema "Macro stürzt ab wenn Tabelle leer"