excel vba “运行时错误1004,应用程序定义或对象定义错误”

文章描述了一位用户在WinToGo系统中安装Office2021后,遇到Excel程序运行时错误1004的问题。尝试了调整宏设置和安全级别等方法未果,最终发现新版本Excel对VBA代码有更严格的语法要求。通过修正代码中的范围引用,成功解决了问题。
摘要由CSDN通过智能技术生成

     新做的wintogo系统,装了office2021,拿出以前的一个excel程序跑了一下,报错“运行时错误1004,应用程序定义或对象定义错误”,于是网上搜索,总结大部分文章给的建议方案是下面几个:

     方法一:

    单击文件――选项――信任中心――打开“信任中心”对话框,宏设置――勾选“信任对VBA工程对象模型的访问”。再次运行,就不会出现运行时错误1004提示。

    方法二:

    查看下工具--宏--安全性,安全级别降低,可靠发行商保留空白。如果新建文档也会出现上述情况,试打开EXCEL后,工具--宏--VB编辑器,删除里面的程序,再观察。

    方法三:

   检查代码和公式,使用错误也会导致运行时错误1004的问题。

   于是自己赶紧动手尝试了前两个方法,1004报错依然存在。拿着excel到原先的电脑上执行依然没有问题,很纳闷。进入调试状态,光标停留在下面这一行:

Sub Button10_Click()
n = Sheets(2).UsedRange.Rows.Count
If n > 1 Then
Sheets(2).Range(Cells(2, 1), Cells(n, 6)).Value = ""
MsgBox "已清空历史数据" & n - 1 & "行!"
Else
MsgBox "无数据需要清空,请确认!"
End If
End Sub

百思不得其解,继续查网页,突然一个类似的贴子触发了灵感,新版本的excel对语法校验更严格更精确,操起键盘简单修改如下:

Sub Button10_Click()
n = Sheets(2).UsedRange.Rows.Count
If n > 1 Then
Sheets(2).Range(Sheets(2).Cells(2, 1), Sheets(2).Cells(n, 6)).Value = ""
MsgBox "已清空历史数据" & n - 1 & "行!"
Else
MsgBox "无数据需要清空,请确认!"
End If
End Sub

运行通过!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值