为什么录制的宏完成后却在程序中无法运行

chenyf_ly 2007-11-01 01:22:42
我有一个VBA程序,有一句代码是选中一个表(sheets("原始表").select),此表中的数据来自一个网页,通过复制粘贴过来的,里面有一些网页中的格式,我的程序主要是清除这些格式和一些不需要的怪字符,在运行过程中若数据少的话可以执行,多则报错如下:我在数据多的情况下,使用录制宏的方式录制的代码运行时同样出现该报错,请各位高手帮助解决为感。
运行时画面:


...全文
1003 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyf_ly 2007-11-03
  • 打赏
  • 举报
回复
结合http://www.officefans.net/cdb/viewthread.php?tid=84144的提示,我已经把问题解决了,代码如下:
Sub 查询数据整理()
Dim theSheet As Worksheet
Set theSheet = Sheets("原始表")
theSheet.Select
Dim oleOpt As OLEObject
With theSheet
For Each oleOpt In .OLEObjects
oleOpt.Delete
Next
End With
end sub
非常感谢以上给予帮助的每位高手
chenyf_ly 2007-11-02
  • 打赏
  • 举报
回复
不好意思,我没有权限,无法重新上传。
chenyf_ly 2007-11-02
  • 打赏
  • 举报
回复
可是执行到ActiveSheet.DrawingObjects.Select语句时又无法执行,请kaoziji 再帮忙解决,我先谢了,我把附件修改了一下,重新上传在贴子中
kaoziji 2007-11-02
  • 打赏
  • 举报
回复
你把
Sheets("原始表").Select
一句
改成
    Dim theSheet As Worksheet
Set theSheet = Sheets("原始表")
theSheet.Select

就可以了。
我也无法解释原因
kaoziji 2007-11-02
  • 打赏
  • 举报
回复
你在VBA project上加了密码?
你查看一下,Visual Basic编辑器中菜单“工具->引用”中引用了哪些?
“Visual Basic For Applications”
“Microsoft Excel xx.0 Object Library”
上面两个库都打勾了吗?
其中“xx”是具体的数据,我这里是11,你那里可能有所不同。
chenyf_ly 2007-11-02
  • 打赏
  • 举报
回复
ActiveSheet.DrawingObjects.Select
kaoziji 2007-11-02
  • 打赏
  • 举报
回复
“....对象库无效.......”停在哪一句?
chenyf_ly 2007-11-02
  • 打赏
  • 举报
回复
都打勾引用了啊!!急死我了
kaoziji 2007-11-02
  • 打赏
  • 举报
回复
根据我在1楼所说的,
“Visual Basic For Applications”
“Microsoft Excel xx.0 Object Library”
还有
“Microsoft Forms x.0 Object Library”
“Microsoft Office xx.0 Object Library”
“OLE Automation”
一共5个库,都打勾引用了没有?
chenyf_ly 2007-11-02
  • 打赏
  • 举报
回复
还是不行啊,错误提示和原来是一样,“....对象库无效.......“
kaoziji 2007-11-02
  • 打赏
  • 举报
回复
把我前面写的
[code=VBA] Dim theSheet As Worksheet
Set theSheet = Sheets("原始表")
theSheet.Select[/code]
中的最后一句“Select”改成“Activate”
[code=VBA] Dim theSheet As Worksheet
Set theSheet = Sheets("原始表")
theSheet.Activate[/code]

5,174

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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