搜索多个值 - 循环

时间:2015-06-02 19:11:19

标签: excel vba excel-vba

我认为这只能在VBA中完成。我试过VLOOKUP,但没有运气。

我想在整张纸上搜索某些值。这些值来自另一个工作表中的一行。找到每个值后,它会查找最顶行并拉出该值。

我可能需要遍历行中的每个值并从那里搜索表单?

我的想法/例子:

Sheet1!A:A
1234
5325
6346
6342

在表格2中查看1234.让我们在单元格G5中找到它,然后它将查看G1中的值并将其输入到表格2中的单元格A1中。我很抱歉让这真的很混乱。

这是我的开始:

Sub FindValues()

Dim SearchRow As String
Dim SearchRange As Range, cl As Range
Dim FirstFound As String
Dim sh As Worksheet

' Set Search value
SearchRow = Sheets("sheet2").Range("B:B")

在最后一行收到错误。运行时错误'13':类型不匹配

2 个答案:

答案 0 :(得分:2)

您需要设置一个Range object。除非您要查找的字符串类似于Address property,否则无法将其分配给字符串。

Dim SearchRow As String
Dim SearchRange As Range

SearchRow = Sheets("sheet2").Range("B:B").address
Set SearchRange = Sheets("sheet2").Range("B:B")

答案 1 :(得分:2)

请根据您的要求考虑以下代码:

SearchRange

请注意,根据您的说明,我认为Cell不仅仅是1列。

基本上,脚本循环遍历SearchRow中的每个SearchRange,并在Cell中查找值。如果找到该值并返回表示具有搜索值的单元格的子范围,并将每个{{1}}右侧的值设置为找到该值的列的顶部单元格的值。希望这能满足您的需求。欢呼声。