【问题标题】:Set range to a cell via .find method通过 .find 方法将范围设置为单元格
【发布时间】:2019-04-22 18:21:46
【问题描述】:

我想将“指针”范围对象分配给应该通过 .find 方法确定的单元格,并通过 .offset 方法将找到的地址偏移 3 行。 我似乎对以下代码做错了什么:

With Sheets("Database")

    Dim pointer As Range
    Set pointer = .Cells.Find("string data").Offset(3)
    ...

End With

我不断收到错误 91:对象变量或未设置块变量。

提前感谢您的帮助!

【问题讨论】:

  • Range.Find 有一些有趣的参数可能会有所帮助,例如。 G。 LookInLookAt.

标签: vba set range


【解决方案1】:

您收到该错误是因为.Cells.Find("string data") 返回Nothing
为避免此错误,您可以引入 check,如下所示:

Dim pointer As Range

With Sheets("Database")
    If Not .Cells.Find("string data") Is Nothing Then
        Set pointer = .Cells.Find("string data").Offset(3)
    End If
End With
'...

【讨论】:

  • 非常感谢。这确实是问题所在。关于类似问题的另一个问题: Set searchRng = Range("pointer.address:.cells(pointer.End(xlDown).Row,pointer.Column).address") 由于不同的原因也失败了。我在这里做错了什么?很抱歉这些琐碎的问题,我是 VBA 新手...
  • 错误 1004:对象 '_Global' 的方法 'Range' 失败
  • @Ardnic 抱歉,我没空。我建议您发布另一个问题(如果您已经没有),我相信有人可以帮助您解决这个问题:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 1970-01-01
  • 2013-09-19
  • 2016-02-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多