Excel 使用selection.find查询数据库

Excel 使用selection.find查询数据库,excel,vba,Excel,Vba,我正在编写宏,不熟悉selection.find查询的复杂性 背景:我试图检查成员(表1)是否持有急救资格(数据见表2)。我希望宏使用第1页中的成员编号查找资格,如果资格出现在第2页的列表中,则在第1页的新单元格中输出文本“保持”,如果资格未出现在列表中,则输出文本“未保持”。我总是在代码找不到急救资格并停止的地方陷入困境(具有讽刺意味的是,这正是我试图做的,但相反,如果找不到资格,我希望它将前面提到的文本输出到单元格中) 输入示例非常简单:基本上有两个数据数组(表1中的标题字段:成员编号、姓名

我正在编写宏,不熟悉selection.find查询的复杂性

背景:我试图检查成员(表1)是否持有急救资格(数据见表2)。我希望宏使用第1页中的成员编号查找资格,如果资格出现在第2页的列表中,则在第1页的新单元格中输出文本“保持”,如果资格未出现在列表中,则输出文本“未保持”。我总是在代码找不到急救资格并停止的地方陷入困境(具有讽刺意味的是,这正是我试图做的,但相反,如果找不到资格,我希望它将前面提到的文本输出到单元格中)

输入示例非常简单:基本上有两个数据数组(表1中的标题字段:成员编号、姓名、急救当前。表2中的标题字段:成员编号、姓名、资格(多个,可能包括也可能不包括急救,这是我要查询的字段))。我尝试了以下语法:

Selection.Find(What:="first aid", After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate

以便根据搜索结果,使用保留/未保留填充表1中的单元格。我收到的错误有“运行时错误450:参数数量错误或属性分配无效”和“运行时错误91:对象变量或未设置块变量”

谢谢您的回复David,很抱歉忽略了这些详细信息。我已经更新了帖子。如果Find没有匹配,那么就没有什么可激活的-您首先需要检查Find是否返回了一个
范围
(单元格)或
什么都没有
,您是否尝试进行查询并用宏记录器记录它?是的,我从宏记录器开始。通常我以这种方式开始并修改代码来清理/扩展范围、循环等,但我似乎无法理解这一点。