1. I didn't use table name, as I used code to set table object using a cell that belongs to table.
Set tbl = UserCell.ListObject
You can, remove code from "On Error Goto..." to above line and replace it with...
Set tbl = ThisWorkbook.Sheets("Sheet1").ListObjects("AgentContactList")
2. No I would not recommend replicating Sub with different name. I'd just use code to loop through sheets and ListObjects and use variable to construct export path and file name.
I wouldn't recommend using VBA to update HTML every 5 min. I'd use something more robust for that sort of scheduled repeated operation.
Which, really should be housed in a server.
1. Use PHP to query data from database and update.
2. Use Python or R to update json format file and use that to update table.
3. Use PowerBI to query data from database or cloud service and publish. Using custom visual or slicer to filter data on the fly.
Third method requires several layers of set up and not as straight forward as first 2 methods. You'll need to have data stored in MS SQL server 2012 or later, or have linked server set up with MS SQL server 2012 or later as staging server. Then set up direct query mode to load data. Data can be refreshed at 15 min interval, but can force refresh at shorter interval by refreshing browser window.
Any further question, I'd recommend starting new thread in VBA forum with your requirement with reference to this thread (hyperlink).