VBA Delete Table from Worksheet & Workbook in Excel. This means deleting or removing the table on Worksheet in Excel using VBA. Here we use the ListObjects collection and Delete method to delete table. And also see how to delete multiple tables on worksheet and active Workbook. In this tutorial let us learn the example and step by step instructions to delete table on the worksheet.
Syntax to Delete Table using VBA in Excel
Here is the syntax to delete table on the worksheet using VBA in Excel.
Expression.ListObjects(TableName).Delete
Example to Delete Table on the Worksheet in Excel VBA
Let us see the example to delete or remove table on the worksheet. The sheet name defined as ‘Table‘. And we use table name as ‘MyDynamicTable‘. You can change these two as per your requirement. Where Delete method is used to delete table on Worksheet.
'Delete Table using VBA in Excel
Sub VBAF1_Delete_Table()
'Declare Variables
Dim sTableName As String
Dim sSheetName As String
'Define Variables
sSheetName = "Table"
sTableName = "MyDynamicTable"
'Delete Table
Sheets(sSheetName).ListObjects(sTableName).Delete
End Sub
Output: The table is deleted on the Worksheet.
Delete all Tables on the Worksheet in Excel
The following VBA code helps to delete all tables on the worksheet. The below code loop through all tables to delete on the worksheet.
'VBA Delete all Tables on Worksheet
Sub VBAF1_Delete_All_Tables_On_Worksheet()
'Declare Variables
Dim loTable As ListObject
Dim sTableName As String
Dim oSheetNameAs Worksheet
'Define Variables
oSheetName= "MyDynamicTable"
'Set Sheet object
Set sSheetName = Sheets("Table")
'Loop through each table in worksheet
For Each loTable In oSheetName.ListObjects
'Define Table Name
sTableName = loTable.Name
'Delete Table
oSheetName.ListObjects(sTableName).Delete
Next loTable
End Sub
Output: The above code deleted all tables on the worksheet named Table.
All Tables Delete from the Workbook in Excel
Let us see how to delete all tables delete from the Workbook in Excel using VBA. The below code loop through all workbooks to delete tables from all sheets.
'VBA Delete all Tables from Workbook
Sub VBAF1_Delete_All_Tables_from_Workbook()
'Declare Variables
Dim loTable As ListObject
Dim sTableName As String
Dim oSheetName As Worksheet
'Define Variables
sTableName = "MyDynamicTable"
'Set Sheet object
Set oSheetName = Sheets("Table")
'Loop through each table in worksheet
For Each oSheetName In ActiveWorkbook.Worksheets
'Loop through each table in worksheet
For Each loTable In oSheetName.ListObjects
'Define Table Name
sTableName = loTable.Name
'Delete Table
oSheetName.ListObjects(sTableName).Delete
Next loTable
Next oSheetName
End Sub
Instructions to Run VBA Macro Code or Procedure:
You can refer the following link for the step by step instructions.
Instructions to run VBA Macro Code
Other Useful Resources:
Click on the following links of the useful resources. These helps to learn and gain more knowledge.
VBA Tutorial VBA Functions List VBA Arrays in Excel VBA Tables and ListObjects
VBA Editor Keyboard Shortcut Keys List VBA Interview Questions & Answers Blog





