如何将ListObject源从静态数据更改为SQL Server数据库?

现在我正在使用ADODB将数据从数据库下载到Excel表中。 不过,我希望用户能够刷新表,以便从我的数据库更新。

我一直在试验从外部来源创build一个新表,并到达这个代码:

Public Sub CreateLiveTable(sql As String, Location As Range, TableName As String) With Location.Parent.ListObjects.Add(SourceType:=xlSrcExternal, Source:="OLEDB; " & DB_CONNECTION, Destination:=Location).QueryTable .CommandType = xlCmdSql .CommandText = sql .BackgroundQuery = True .ListObject.DisplayName = "asdfas" .SourceConnectionFile = "C:\Users\lisandro.h.vaccaro\Documents\My Data Sources\172.19.179.43 Forecasting CostRates.odc" .Refresh BackgroundQuery:=True End With End Sub 

但是,我一直无法连接我的现有表到SQL Server。 我不能只是删除和再次创build它,因为有很多公式和指向它的范围,如果我删除它将被打破。

我怎样才能将我现有的表连接到我的数据库?