我是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] 删除。
我来说两句