VBA运行时错误'424':对象必需问题排查求助
问题分析与解决
错误根源有两点:
PrintOut方法无返回值,不能用Set赋值给对象变量:你试图把PrintOut的执行结果赋值给Range类型的lRow,但PrintOut只是执行打印操作,不会返回任何对象,这就触发了"Object Required"错误。- 未正确引用
With块中的工作表:代码里的Range("G1024")没有加前缀.,会默认引用当前活动工作表,而非你指定的"Line 3"表,可能导致区域选择错误。
修正后的代码
Option Explicit Sub SchedulePrint() Dim printRange As Range Application.ScreenUpdating = False With Sheets("Line 3") ' 先获取要打印的区域 Set printRange = .Range("G1024").End(xlUp).Offset(-3, -6).Resize(20, 14) ' 执行打印 printRange.PrintOut End With Application.ScreenUpdating = True End Sub
额外说明
- 如果不需要保留这个区域变量,也可以直接链式调用打印,去掉变量定义:
With Sheets("Line 3") .Range("G1024").End(xlUp).Offset(-3, -6).Resize(20, 14).PrintOut End With - 加上
.前缀是With块的核心用法,确保所有操作都作用于指定的工作表,避免因活动表变化导致的错误。
内容的提问来源于stack exchange,提问作者Lumpyness
相关产品推荐
相关产品推荐

