尝试使用范围时出现范围错误((ActiveCell.Column)&“2”)。value =“...”

时间:2014-02-14 04:33:48

标签: excel vba

我一直收到错误对象'_worksheet'的方法'范围'失败。在下面指出的行中。我试图写一种方法来引用activecell的位置,以便为该activecell列的第2行中的列添加标题。我已经能够使用Range(“A”和(ActiveCell.Row))。我的代码中的Value = ....没有问题所以我会假设像Range((ActiveCell.Column)&“ 2“)。value = ....有效。情况不是这样吗?

Dim found As Range
Set found = wsAbv.Range("B1:C93").Find(What:=ActiveCell.Value, LookAt:=xlPart)
    If Not found Is Nothing Then
       For x = 1 To 93
       If ActiveCell.Value = wsAbv.Range("B" & (x)).Value Then
          ActiveCell.Value = wsAbv.Range("C" & (x)).Value
       End If
       Next
    End If
          ActiveCell.VerticalAlignment = xlCenter
          ActiveCell.HorizontalAlignment = xlRight

'Getting 400 error at line below (Method 'Range' of object '_worksheet' failed)

          Range((ActiveCell.Column) & "2").ClearContents
          Range((ActiveCell.Column) & "2").Value = "RIG"
          Range((ActiveCell.Column) & "2").Interior.Color = RGB(183, 222, 232)
          ActiveCell.Offset(0, 1).Select
          Range((ActiveCell.Column) & "2").Value = "QTY"
          Range((ActiveCell.Column) & "2").Interior.Color = RGB(216, 228, 188)

1 个答案:

答案 0 :(得分:1)

ActiveCell.Column会返回一个数字,而不是一个专栏字母。改为使用R1C1风格。

Cells(2, ActiveCell.Column).ClearContents

而不是

Range((ActiveCell.Column) & "2").ClearContents