在office 2003 下VBA 运行正常,但在office 2010下的VBA程序运行出错。

yanzp888 2015-08-12 11:19:45

我用office003运行以下程序正常,但在win7 64位的office2010上运行,提示运行时错误,至少缺一个参数。
我反复检查调整了SQL语句,都没法解决。请高手指点。万分感谢!
Sub 分类汇总()
Dim word As String
If Application.Version = "14.0" Then
word = "Microsoft.ACE.OLEDB.12.0;extended properties='excel 12.0;hdr=no;IMEX=1';data source=" '对应office2010 64位OK"
ElseIf Application.Version = "11.0" Then
word = "microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" '对应office2003 OK
Else
MsgBox "不支持这个版本的 Excel,请与管理员联系 "
End If
Range("A2:E100").ClearContents
Set conn = CreateObject("adodb.connection")
conn.Open "provider=" & word & ThisWorkbook.FullName
sq1 = "select 类别,数量,金额 from [Sheet1$]"
sq2 = "select 类别,数量,金额 from [Sheet2$]"
sq3 = "select 类别,数量,金额 from [Sheet3$]"
sq4 = sq1 & " UNION ALL " & sq2 & " UNION ALL " & sq3
sq5 = "select 类别,SUM(数量),SUM(金额) from (" & sq4 & ") GROUP BY 类别"
[a65536].End(xlUp).Offset(1, 0).CopyFromRecordset conn.Execute(sq5)
conn.Close
Set conn = Nothing
End Sub
...全文
441 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
楚狂歌 2015-08-12
  • 打赏
  • 举报
回复
office包含了access2010了么?

2,461

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧