运行时错误'1004':在某些工作表上,对象'Global'的方法'Range'失败,但是我的代码能够在大多数其他工作表上运行吗?

凯琳·恩特(Kaylynn Enright)

我是VBA的新手,并且正在多个工作表上运行代码。我的代码在大多数工作表中都可以正常运行,但是当它循环到包含我从数据库中导出的数据的工作表时,却出现了运行时错误,该数据没有格式化为标准Excel工作表(有数字格式设置为“自定义”)。如果Excel由于工作表的格式而无法将工作表中的数字识别为属于该范围的数字,这是否会导致错误?请参阅下面无法使用的代码部分。它适用于大多数工作表,但是当它进入未采用与其他工作表相同的格式的选项卡时,会出现错误。

Dim rng As Range

With ActiveSheet.PageSetup
    Set rng = Range(.PrintArea)
End With
大本钟

PageSetup.PrintArea文档中:

将此属性设置为False或设置为空字符串(""),以将打印区域设置为整张纸

如果未设置打印区域,则.PrintArea(空白字符串)的结果不是有效的Range参考:

请尝试以下操作:

With ActiveSheet.PageSetup
    If .PrintArea = vbNullString Then
        Set rng = ActiveSheet.UsedRange
    Else
        Set rng = ActiveSheet.Range(.PrintArea)
    End If
End With

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章