VBA Check If table Exists in Excel

VBA Check if table Exists

VBA Check if table Exists in Excel. Let us check if a table exists on the worksheet. And also check if multiple tables are exist on the Sheet. We use ListObjects collection. In this tutorial we have explained multiple examples with explanation. We also shown example output screenshots. You can change table and sheet name as per your requirement. We also specified step by step instructions how to run VBA macro code at the end of the session.

Example to to Check If a table Exists on the Worksheet

Let us see the example to check if a table Exists on the Worksheet using VBA. The sheet name defined as ‘Table‘. And we use table name as ‘MyTable1‘. You can change these two as per your requirement.
Where ListObjects represents the collection.

'VBA Check if table Exists
Sub VBAF1_Check_If_Table_Exists()

   'Declare Variables
    Dim oSheetName As Worksheet
    Dim sTableName As String
    Dim loTable As ListObject
    
    'Define Variable
    sTableName = "MyTable1"
    
    'Define WorkSheet object
    Set oSheetName = Sheets("Table")
    
    'Loop through all tables in the worksheet
    For Each loTable In oSheetName.ListObjects
        'Check specified table
        If loTable.Name = sTableName Then
            'If exists
            MsgBox "Specified table is available.", vbInformation, "VBAF1"
        End If
    Next
    
End Sub

Output: Here is the following output screenshot of above example macro VBA code.

VBA Check if table Exists on the Worksheet

Check Multiple Tables are exists on the Worksheet

Here is the another example to check if multiple tables are exists on the Worksheet using VBA.

'VBA Check if multiple tables Exists on the worksheet
Sub VBAF1_Check_If_Multiple_Tables_Exists()

   'Declare Variables
    Dim oSheetName As Worksheet
    Dim sTableName As String
    Dim loTable As ListObject
    Dim bCheck As Boolean
        
    'Define WorkSheet object
    Set oSheetName = Sheets("Table")
       
    'Loop through all table names
    For iCnt = 2 To 7
        'Get Table Name
        sTableName = Sheets("Result").Range("A" & iCnt)
        bCheck = False
        
        'Loop through all tables in the worksheet
        For Each loTable In oSheetName.ListObjects
            'Check specified table
            If loTable.Name = sTableName Then
                'If exists
                Sheets("Result").Range("B" & iCnt) = "Available"
                bCheck = True
                Exit For
            End If
        Next
        
        'If table doesn't exists
        If bCheck = False Then
            Sheets("Result").Range("B" & iCnt) = " Not Available"
        End If
    Next
End Sub

Output: Let us see the following output screenshot of above example macro VBA code. The difference between before and after macro, see the above output screenshot.

VBA Check If Multiple tables are Exists on the Worksheet

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

Leave a Comment