excel - Excel 宏与 Excel 加载项和单元格选择
问题描述
我试图确定为什么“Cells.Select”(用于选择工作表中的所有单元格)将在宏中工作,但完全相同的命令会导致运行时错误:1004。有加载项已正确设置?运行宏和运行加载项之间的代码执行方式有区别吗?
这也将适用于任何使用“单元格”的命令,例如以下...
If Not IsEmpty(Cells(a, 1)) Then
Cells(a, 3) = Num
End If
请注意,Num 的值是一个有效的整数,但我在这里要说明的是,当条件为 TRUE 时,实际单元格值未设置为 Num。
先感谢您
解决方案
使用您的示例和您在评论部分提供的额外信息,您的代码:
If Not IsEmpty(Cells(a, 1)) Then
Cells(a, 3) = Num
End If
最好是:
With Application.ActiveSheet
If Not IsEmpty(.Cells(a, 1)) Then
.Cells(a, 3) = Num
End If
End With
.Select
此外,除非你真的必须,否则尽量抵制使用。查看:这篇优秀的文章
推荐阅读
- mysql - 为什么产品没有被删除,而是被重定向到另一个页面?
- html - 当时只检查了一个输入 css
- javascript - webpack-cli 错误:编译规则集失败
- python - 在 Keras 中训练模型时的值错误
- django - Django Forms:RelatedManager' 对象没有属性
- shopify - 根据客户位置自动履行订单 - 应用建议?
- sql-server-2016 - 在不考虑周六和周日的情况下生成指标
- mysql - Laravel GroupBy 和 OrderBy 排序问题
- can-bus - 在 SDO 块传输中可以使用的最大大小是多少?如何使用?
- mysql - 从星期日生成日期,除了现有值,在 1 周范围内