连接字符串有问题,正确的格式如下:
1 用机器名的连接
Provider=SQLOLEDB;Data Source=machineName;Initial Catalog=dbname;User ID=sa;Password=pass;
2 用ip地址的连接
Provider=SQLOLEDB; Data Source=xx.xx.xx.xx,1433; Network Library=DBMSSOCN; Initial Catalog=dbname;User ID=sa;Password=pass;
'下面一句是错的
Set sht = Worksheets("Sheet1") '把sht指向当前工作簿的sheet1工作表
'修改后的代码
Dim oXl As Excel.Application
Set oXl = GetObject("你的含路径信息的excel文件", "Excel.Application")
Set sht = oxl.Workbooks(1).Worksheets(1)
Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表
=======
定义中不要加New
之后用:set cn=new adodb.connection
set rs=new adodb.recordset
你是不是没有先添加ADO引用?