我有一个查找函数,它应该查找"2021">
Range(DP).Find("2021", LookIn:=xlValues, LookAt:=xlWhole).Offset(1, 0) = t
2021在范围内,但它是一个公式的结果。
(单元格A2在DP范围内为=$B$5
和B5=2021
)
所有的范围和变量都被定义,代码工作完美。
然而,每隔一段时间,我就会得到' '运行时错误' '91' ' ' !!
我按调试,vba页面打开,查找功能是问题。(值没有找到)
最好的部分是,如果我删除代码的随机字母并重写完全相同的字母(基本上没有改变什么),并关闭vba并再次运行,代码再次工作没有错误!!
你知道如何修复这个bug吗?
提前感谢。
-
务必定义工作表
ThisWorkbook.Worksheets("Sheet1").Range(DP)
-
确保
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"