我试图将Access中的两个表链接到我的Excel。一个是Table_1,另一个是Table2。但是,当我运行这些代码时,两个导入的表链接到同一源,或者说同一数据源被导入两次。我试图通过删除连接并重新连接来解决此问题。但这行不通。录制的宏使用一行Selection.ListObject.TableObject.Refresh
。但是系统弹出错误,指出重新运行宏时未设置对象。完整代码如下。
在这种情况下,我想问一下如何释放对象并连接到另一个表。
Sub Macro1()
Sheets("S6_Inforce").Select
Range("B1").Select
Workbooks("Lapse1709_ANALYSIS_v1_S6.xlsm").Connections.AddFromFile _
"C:\Users\j1sunx\Desktop\201709_Lapse_redo\Step1_Analysis\Lapse Study 201709 S6.accdb" _
, True, False
With ActiveSheet.ListObjects.Add(SourceType:=4, Source:=ActiveWorkbook. _
Connections("Lapse Study 201709 S6"), Destination:=Range("$B$1")). _
TableObject
.RowNumbers = False
.PreserveFormatting = True
.RefreshStyle = 1
.AdjustColumnWidth = True
.ListObject.DisplayName = "Table__1__S6_Inforce_Summary"
.Refresh
End With
Sheets("S6_Terminated").Select
Range("B1").Select
ActiveWorkbook.Connections("Lapse Study 201709 S6").Delete
' Workbooks("Lapse1709_ANALYSIS_v1_S6.xlsm").Connections.Delete
' Selection.ListObject.TableObject.Refresh
Workbooks("Lapse1709_ANALYSIS_v1_S6.xlsm").Connections.AddFromFile _
"C:\Users\j1sunx\Desktop\201709_Lapse_redo\Step1_Analysis\Lapse Study 201709 S6.accdb" _
, True, False
With ActiveSheet.ListObjects.Add(SourceType:=4, Source:=ActiveWorkbook. _
Connections("Lapse Study 201709 S6"), Destination:=Range("$B$1")). _
TableObject
.RowNumbers = False
.PreserveFormatting = True
.RefreshStyle = 1
.AdjustColumnWidth = True
.ListObject.DisplayName = "Table__2__S6_Terminations_Summary"
.Refresh
End With
Range("F10").Select
结束子