【发布时间】:2014-04-01 21:58:19
【问题描述】:
我记录了一个宏,它基本上从 excel 中运行 sql 查询并将数据粘贴到工作表中。然而,问题是当数据被粘贴到工作表中时,单元格的数据顺序被扭曲了。例如,我粘贴从 Range("B3") 开始的 sql 查询,但是如果在查询后我在单元格 D4 中有其他数据,则此数据无缘无故地移动到单元格 F4。我在工作表上获得的所有其他数据也是如此。换句话说,在粘贴 sql 查询的结果后,单元格数据的顺序会被扭曲。我该如何解决?
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"ODBC;Driver=MySQL ODBC 5.1
Driver;SERVER=localhost;UID=root;DATABASE=second;PORT=3306" _
, Destination:=Range("$B$4")).QueryTable
.CommandText = Array( _
"SELECT employees_0.eid, employees_0.ename, employees_0.age" & Chr(13) & "" &
Chr(10) & "FROM second.employees employees_0" _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Table_Query1"
.Refresh BackgroundQuery:=False
End With
End Sub
【问题讨论】: