VBA发现,如何捕捉什么时候什么都没有find

我只写了一个带有两个UserForms的七页macros,这是一个美的事情。 有两个数据库,左边的数据库比右边的数据库长。

我使用了一个variablesDDataa1和VBA函数:

Sub SSearchh() ... code ... Cells.Find(What:=DDataa1, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate ... code ... End Sub 

它完美的作品除了没有DDataa1find。 (也就是说,在左侧列表中正在search的右侧列表中没有variables。)

在这种情况下,macros只是停止。 我想捕获这个“未find数据”事件,并写入更多的代码特定于此故障,但此function似乎不会产生真/假条件。

将不胜感激

你可以试试

 Dim FindRange As Range Set FindRange = Cells.Find(What:=DDataa1, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) If FindRange Is Nothing Then ' do error handling here Else FindRange.Activate End If