如何从另一个工作表中获取精确匹配的数据?

人气:482 发布:2022-10-16 标签: excel vba filtering

问题描述

我在"数据库"工作表中有数据,如下所示:

我编写了一个简短的代码,用于从"数据库"表中获取与特定条件匹配的数据,并将其粘贴到另一个表"SelectedRecords"中

以下是我的代码

Sub CopyData()
Dim db As Worksheet
Dim rcd As Worksheet

Set db = ThisWorkbook.Sheets("Database")
Set rcd = ThisWorkbook.Sheets("SelectedRecords")

db.Range("A1:C7").AdvancedFilter _
    Action:=xlFilterCopy, _
    CriteriaRange:=Range("$A$1:$A$2"), _
    CopyToRange:=rcd.Range("$A$4:$B$4")

End Sub

此代码工作正常,但我收到一些其他记录,如下所示:

我正在查找name="jack"的数据,但在输出中我得到的所有数据都以"jack"开头。如何获取与A2单元格中提到的条件完全匹配的记录。在本例中,我的输出应该只给出一条"Jack"记录。

其他两条记录"JackSparrow"和"Jackson"应被过滤掉。

推荐答案

默认情况下,您将获得所有匹配项。当前,SelectedRecords中的单元格A2具有Jack。若要获得完全匹配,请将其更改为="=Jack",如下所示,然后重试。

如果您不想每次都键入"=",请使用帮助器列,如下所示

186