首页 > 解决方案 > Excel 宏与 Excel 加载项和单元格选择

问题描述

我试图确定为什么“Cells.Select”(用于选择工作表中的所有单元格)将在宏中工作,但完全相同的命令会导致运行时错误:1004。有加载项已正确设置?运行宏和运行加载项之间的代码执行方式有区别吗?

这也将适用于任何使用“单元格”的命令,例如以下...

If Not IsEmpty(Cells(a, 1)) Then

    Cells(a, 3) = Num

End If

请注意,Num 的值是一个有效的整数,但我在这里要说明的是,当条件为 TRUE 时,实际单元格值未设置为 Num。

先感谢您

标签: excelvba

解决方案


使用您的示例和您在评论部分提供的额外信息,您的代码:

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此外,除非你真的必须,否则尽量抵制使用。查看:这篇优秀的文章


推荐阅读