在Excel VBA中,你可以使用ADO(ActiveX Data Objects)对象来从SQL Server查询数据。下面是一个简单的示例: ```vba Sub QueryDataFromSqlServer() ' 定义连接字符串 Dim connStr As String connStr = "Provider=SQLOLEDB;Data Source=服务器地址;Initial Catalog=数据库名称;User ID=用户名;Password=密码;" ' 创建连接对象 Dim conn As Object Set conn = CreateObject("ADODB") ' 打开连接 conn.Open connStr ' 创建记录集对象 Dim rs As Object Set rs = CreateObject("ADODB.Recordset") ' 执行SQL查询 Dim sql As String sql = "SELECT * FROM 表名" rs.Open sql, conn ' 将数据写入Excel工作表 Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet1") ' 将字段名写入第一行 For i = 1 To rs.Fields.Count .Cells(1, i).Value = rs.Fields(i - 1).Name Next i ' 将数据写入从第二行开始的其他行 ws.Range("A2").CopyFromRecordset rs ' 关闭记录集和连接 rs.Close conn.Close ' 释放对象 Set rs = Nothing Set conn = Nothing End Sub ``` 你需要将上述示例中的"服务器地址"、数据库名称"、"用户名"和"密码"替换为你自己的实际信息,并确保在Excel VBA中已添加对ADO库的引用。 [2023-12-14 14:29:07 | AI写代码神器 | 984点数解答]