ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 306|回复: 6

[求助] 求数组公式导致1004错误的解决方法

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-2-23 10:45 | 显示全部楼层 |阅读模式
本帖最后由 颂妖精 于 2024-2-23 10:46 编辑

早几天发过一个贴子,使用 Worksheet_Change 事件,在某个单元格选择输入数值后,判定输入值,然后修改另一个单元格,结果发现 1004 错误不能运行,前来求助。


写好代码,发现不能运行,再三测试,发现也不是完全不能,而是能触发一次,只是不能正确运行。
之后,由于工作原因,将修改过的原表拷入 U 盘,换到另一台电脑继续,加入 On Error Resume Next 语句后,发现可以正常运行。于是把 N 个单元格的判定修改写完,可以正常运行。
后来,把 U 盘插回到原先那台电脑,发现又不能运行了。改用 On Error GoTo Err_Handle 语句查错误源,发现错误号是 1004,源于单元格赋值 Range("F3").Value = "XXX" 语句,赋值前是使用了 Application.EnableEvents = False 进行了处理的。

翻来复去弄了好久,没办法,新开个工作簿,复制新写的判定修改代码进行检查,这时,惊讶的事情出现了,复制过来的代码完全没有错误,包括上面查到的错误源。
进行测试,保存新老工作簿后,双击打开新老工作簿一并检查,这时,更惊讶的事情又出现了,老工作簿不能运行,刚才还正常运行的新工作簿也不能运行了。
继续测试,打开老工作簿,再新建一个工作簿,之后用打开菜单打开新工作簿,这时,更更惊讶的事情又双出现了,老工作簿不能运行,新工作簿能正常运行。
不断测试,把 U 盘插到之前那另一台电脑,双击打开新老工作簿一并检查,这时,更更更惊讶的事情又双叒出现了,新工作簿能正常运行,老工作簿也能正常运行。

最后,一个个工作表检查,终于找到了真正的错误源——某张数据表——里面有若干数组公式。到这,我放弃修改原工作簿错误的想法了——数组公式导致 1004 错误——不能放弃数组公式啊。
之后又试过多台电脑,都是老工作簿不能运行,新工作簿——没有数组公式——能正常运行。老工作簿即使有 On Error Resume Next 语句,也不能正常运行——除了原本就可以运行的那台电脑。
看到有资料说把“C:\Users\Administrator\AppData\Roaming\Microsoft\Excel\XLSTART”文件夹删掉的说法,试过发现也不是那么回事。

最后,就想找找为什么两台电脑,一台可以运行,一台不可以运行。系统是一样的,Windows 7;软件是一样的,Excel 2007;代码是一样的,工作簿用 U 盘插过来插过去的;宏设置是一样的,“禁用所有宏并发出通知”‘——在可以运行那台电脑甚至把“信任对VBA工程对象模型的访问”关掉都可以运行。

那么问题来了,为什么在那台电脑里就可以运行呢?需要什么方法才能让其他电脑也能运行呢?

TA的精华主题

TA的得分主题

发表于 2024-2-23 17:12 | 显示全部楼层
楼主好象不喜欢上传附件。说实话,没有附件,大部分人没有兴趣看的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-23 19:08 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
ykcbf1100 发表于 2024-2-23 17:12
楼主好象不喜欢上传附件。说实话,没有附件,大部分人没有兴趣看的。

说实话,这个问题一般人解决不了,能解决的也不需要什么附件......

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-23 19:19 来自手机 | 显示全部楼层
ykcbf1100 发表于 2024-2-23 17:12
楼主好象不喜欢上传附件。说实话,没有附件,大部分人没有兴趣看的。

目前这个没有附加的判定修改也能用,实在不行还可以把数据表计算改成VBA计算,只是好奇一个工作簿怎么在两台电脑有两种结果,万一有大神路过看到指点一番呢......

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-23 19:23 来自手机 | 显示全部楼层
本帖最后由 颂妖精 于 2024-2-23 19:33 编辑
ykcbf1100 发表于 2024-2-23 17:12
楼主好象不喜欢上传附件。说实话,没有附件,大部分人没有兴趣看的。


在论坛这么些年,只发过五个贴子,传过两个附件

TA的精华主题

TA的得分主题

发表于 2024-2-23 19:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
颂妖精 发表于 2024-2-23 19:23
在论坛这么些年,只发过几个贴子,传过一个附件

你也是大神。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-25 23:24 来自手机 | 显示全部楼层
ykcbf1100 发表于 2024-2-23 19:25
你也是大神。。。

我算什么大神,最多只是会写几行代码而已......
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-30 04:15 , Processed in 0.039817 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表