Excel VBA-范围:“范围”;运行时错误';91';
如果工作簿未保存、关闭和重新打开, 我得到以下错误 运行时错误“91”:对象变量或未设置块 我在其他地方有完全相同的代码(只是字符串的名称不同),有时它会给我相同的错误,直到我保存关闭并重新打开并重新运行。之后,代码运行顺利 有没有关于如何避免这个错误的想法?你以前有过这个问题吗Excel VBA-范围:“范围”;运行时错误';91';,excel,range,vba,Excel,Range,Vba,如果工作簿未保存、关闭和重新打开, 我得到以下错误 运行时错误“91”:对象变量或未设置块 我在其他地方有完全相同的代码(只是字符串的名称不同),有时它会给我相同的错误,直到我保存关闭并重新打开并重新运行。之后,代码运行顺利 有没有关于如何避免这个错误的想法?你以前有过这个问题吗 Dim fal As Excel.Worksheet Set fal = wb.Sheets("Falancs") Dim x As String x = "F_1 =" Dim cc As Integer ' T
Dim fal As Excel.Worksheet
Set fal = wb.Sheets("Falancs")
Dim x As String
x = "F_1 ="
Dim cc As Integer ' The column as an integer (cc = 1,2,3...)
cc = fal.UsedRange.Find(x).Column
错误在最后一行,其中“(x)”是…
。如果未找到x
的值,则Find
返回Nothing
,因此您应该检查它:
Dim fal As Excel.Worksheet
Set fal = wb.Sheets("Falancs")
Dim x As String
x = "F_1 ="
Dim cc As Integer ' The column as an integer (cc = 1,2,3...)
Dim res As Range
Set res = fal.UsedRange.Find(x)
If Not res Is Nothing Then
cc = res.Column
Else
MsgBox "Value " & x & " not found"
Exit Sub
End If
wb
指的是什么?当未找到x
的值时,应添加大小写检查:1)Dim res as Range
2)set res=fal.UsedRange.Find(x)
3)如果不是res,则cc=res.Column
它指的是“本工作簿”