运行时错误'1004'对象'_Global'的方法'范围'失败

时间:2014-03-13 15:00:38

标签: excel-vba range vba excel

我有一个宏,它根据在主表上找到的信息填充DataCell位置的一些数据和一些其他单元格。一旦它在主表上找到“空白”,它就会停止。然后,我希望它在我的“数据”表上选择一个范围,并清除该范围的内容。

出于某种原因,我在尝试选择所需范围时遇到错误。代码死于:

Range("EmptyCell:AZ24").Select

我只是需要它来正确选择范围的第一部分。第一个单元格将根据宏的其他部分而变化。

我已经查看了您对类似问题的其他答案,但未能解决问题。

Set DataCell = cnsu2table.Offset(0, x + 1)
    If DataCell <> "" Then
    DataCell.Offset(-2, 0) = cnsu2por
    DataCell.Offset(-1, 0) = cnsu2fcr
    DataCell.Offset(1, 0) = Application.WorksheetFunction.HLookup(DataCell, cnsu2array, 51, False)
    ElseIf DataCell = "" Then
        Set EmptyCell = DataCell.Offset(-2, 0)
        Range("EmptyCell:AZ24").ClearContents

2 个答案:

答案 0 :(得分:0)

改为使用:

Range(EmptyCell, Range("AZ24")).ClearContents

答案 1 :(得分:0)

变化:

Range("EmptyCell:AZ24").ClearContents

人:

Range(EmptyCell.Address & ":AZ24").ClearContents

您还应将EmptyCell变量声明为:

Dim EmptyCell as Range

使用前。


EmptyCell是一个变量,因此将它放在引号之间不会返回变量,但会返回字符串&#34; EmptyCell&#34;不是对象EmptyCell