VBA 从数据库读取数据写到 EXCEL

我现在要把 SQLSERVER数据库某个表的几列数据,写到EXCEL里,谁能帮我写一个最简单的连接数据库,提取数据到EXCEL里的代码。多谢了!

'sql完整例子
Sub testSql()
    '定义连接对象
    Dim cnn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    
    '定义连接字符串
    Dim conStr As String
    Dim sqlstr As String
    '连接字符串-以下是连接MSSQL数据库
    conStr = "Provider=sqloledb; " _
    & "Server=192.168.1.121; " _
    & "Database=DATABASENAME;Uid=admin;Pwd=admin;"
    cnn.Open conStr
    
    sqlstr = "SELECT * from tablename"
    rs.Open sqlstr, cnn
    Range("a2").CopyFromRecordset rs
    rs.Close
    cnn.Close
End Sub追问

这代码,我试怎么就不行呢? 请问这个SELECT * 所有列,写到"A2"那是怎么写?还是从A2开始?

追答

你18句就是存到A2

你说不行,希望有拷屏,报错或结果,然后代码你修改后的样子,否则我们对这个“不行”真不知道说什么。

追问

你好,这个代码已经测试成功了。可以导出来到EXCEL,这个"A2"其实就是指从A2开始做第一行第一列的意思。
我想问的是:如果我要把取出来的不同列值放到指定的EXCEL 位置,该如何做呢?
是用常用的编程方法,把值取出来放到变量,再由变量赋值到对应的EXCEL位置,还是有其他方法呢?望解答谢谢!

追答

其它表,就先切换工作表,例如:
Sheets("数据库导出").Select

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答