0

我有一个简单的宏,它已经工作了几个月,现在当我重新格式化时它突然坏了(线索,但我想不通)。我知道问题集中在偏移函数上,这似乎有一些问题。

我想用别的东西(细胞),但我不知道怎么用。

具体来说,我有一个 Range,我正在检查并更改附近的单元格。

有没有办法用“细胞”做这样的事情

Dim x As Variant
x = Worksheets("Book1").Range("A131")
If (x = some value And x>0) Then
x.Offset(0,7).Value = some value
End if

现在 excel 向我显示需要 Object 的错误

4

2 回答 2

2

您需要使用 SET:

SET x = Worksheets("Book1").Range("A131")

当您不使用 SET 时,您返回的是单元格中的值,而不是实际的范围对象(使用 Offset() 所必需的)...使用 X 后使用 x.Value 返回单元格的内容.

于 2013-02-27T16:37:18.410 回答
1

您使用 Cells() 的代码:

Dim x As Variant
Dim ws as Worksheet

Set ws = Worksheets("Book1")
x = ws.Cells(131, 1).Value ' row 131, column 1 (A131)
If (x = some value And x>0) Then
   ws.Cells(138, 1).Value = someValue ' row 138, column 1 (A138)
End if
于 2013-02-27T17:33:44.197 回答