VBA for excel给出"对象变量未设置"或者"需要对象"

时间:2018-01-08 11:03:59

标签: excel vba excel-vba

我一直试图在表格中搜索预定值,​​如果该值不存在,请添加该值,然后在表格中创建一个新行。

听起来很简单。

tblrow = tbllook.Range.Columns(1).Cells.Find(shtfind, searchorder:=xlByRows, searchdirection:=xlPrevious).Row 

MsgBox tblrow 

If tblrow Is Nothing Then 
    tblcount = tbllook.Range.Rows.Count 
    tbllook.Range(tblcount, 1).Select 
    ActiveCell = shtfind 
    tbllook.ListRows.Add 
End If

Tblerow目前是Dim'作为变种。

我在msgbox中找到了一个正确的答案,当它在表格中找到时,然后吐出一个" Object Required" If语句中的错误。

但是当在表中找不到该值时,它仍然会发出相同的错误。

我已经尝试将我的Db of tblrow更改为Object但后来得到一个"对象变量或者没有设置块变量"在我的.find线上,即使我把它放在它前面。

我的谷歌搜索问题告诉我,这是因为它没有在表中找到一个值,而且我添加的If语句应该排序,但它没有。

请帮忙。

1 个答案:

答案 0 :(得分:0)

尝试检查“找到”值是否为Nothing:

Sub TestMe()    
    If tbllook.Columns(1).Cells.Find("test") Is Nothing Then
        MsgBox "It is Nothing?"
    End If    
End Sub

然后它会工作。此外,tbllook.Range会以您使用它的方式出错。

祝贺您在问题中添加代码。下一步,尝试复制和粘贴代码,如评论中所示。 How do I format my code blocks?你会以这种方式更加关注这个问题。