问题与VBA查找函数的单元格与公式



我有一个查找函数,它应该查找"2021">

Range(DP).Find("2021", LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0) = t

2021在范围内,但它是一个公式的结果。
(单元格A2在DP范围内为=$B$5B5=2021)

所有的范围和变量都被定义,代码工作完美。
然而,每隔一段时间,我就会得到' '运行时错误' '91' ' ' !!
我按调试,vba页面打开,查找功能是问题。(值没有找到)
最好的部分是,如果我删除代码的随机字母并重写完全相同的字母(基本上没有改变什么),并关闭vba并再次运行,代码再次工作没有错误!!

你知道如何修复这个bug吗?

提前感谢。

  1. 务必定义工作表

    ThisWorkbook.Worksheets("Sheet1").Range(DP)
    
  2. 确保DP是一个定义的变量(使用Option Explicit),或者如果你打算使用列DP,那么确保它是一个字符串Range("DP")

也许它应该看起来像

Dim t As String
t = "test"
Dim DP As String
DP = "A:A"
ThisWorkbook.Worksheets("Sheet1").Range(DP).Find("2021", LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0) = t

或者类似的

ThisWorkbook.Worksheets("Sheet1").Range("DP").Find("2021", LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0) = "t"

最新更新