excel - 如何使用Excel VBA和ADO将查询结果放入数据表中?

标签 excel ado vba

我想通过 ODBC 使用 ADO 从数据库表中提取记录并将其放入 Excel 工作表中。我可以做这个。最终,我希望数据包含在 Excel 表格中。我知道如何通过选择适当的单元格并使用“插入”菜单创建表格来手动执行此操作。如何在 VBA 代码中执行此操作,将返回的查询结果放入 Excel 表中的目标工作表中?我尝试使用宏记录器,但生成的代码没有帮助。

最佳答案

类似这样的吗?

导入数据后添加此代码。我假设如下。请相应修改。

  • 数据导入到Sheet1的A1单元格

  • 第 1 行有列标题

    Sub Sample()
    
        Dim LastRow As Long, LastCol As Long
        Dim ws As Worksheet
        Dim rng As Range
    
        Set ws = Sheets("Sheet1")
    
        LastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
        LastCol = ws.Cells(1, Columns.Count).End(xlToLeft).Column
    
        Set rng = Range("$A$1:$" & Split(Cells(, LastCol).Address, "$")(1) & "$" & LastRow)
    
        With ws
            .ListObjects.Add(xlSrcRange, rng, , xlYes).Name = "Table1"
            .ListObjects("Table1").TableStyle = "TableStyleLight2"
        End With
    
    End Sub
    

关于excel - 如何使用Excel VBA和ADO将查询结果放入数据表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9204688/

相关文章:

c# - Excel 工作表选择更改事件第一次不会被触发,但第二次会起作用

excel - Excel中的贪心求和

excel - Microsoft Excel 运行时错误 '1004'

sql - 使用变量 append 字段参数

mysql - addnew 之后记录集更新时出错,表示即使默认设置为空字符串,列也不能为空

excel - VBA InStr Excel与Access

excel - 如何隐藏一个特定工作簿中的公式栏和状态栏而不影响使用 VBA 打开的所有其他工作簿?

mysql - 在 VB6 中连接到 MySQL ODBC 时使用 ADODB.Recordset.Index

vba - Excel VBA : Is it possible create custom functions with custom methods?

vba - 在宏运行结束时打开 NUMLOCK