查找最后一栏

时间:2011-11-03 00:42:16

标签: excel-vba vba excel

我有以下代码:

Last_Column = 0
On Error Resume Next
Last_Column = Sheets("Combined").Cells.Find("", [a1],, , _
                           xlByColumns, xlPrevious).Column

当工作表没有数据时,它返回 运行时错误'91': 对象变量或未设置块变量

我怎样才能让它继续下去,或者我该怎么办?

2 个答案:

答案 0 :(得分:2)

[更新:您应该寻找"*"而不是'“”'

最好使用范围对象,然后测试它是否存在,即

Dim rng1 As Range
Dim Last_Column As Long
Set rng1 = Sheets("Combined").Cells.Find("*", [a1], , , xlByColumns, xlPrevious)
If Not rng1 Is Nothing Then
    Last_Column = rng1.Column
Else
    MsgBox "No data", vbCritical
End If

答案 1 :(得分:0)

在运行代码之前,您应该检查以确保数据表不为空或为null。然后通知用户该表是空的。