【发布时间】:2017-06-13 00:25:53
【问题描述】:
我正在努力寻找一种表达方式。
我有一个包含两个工作表“Final”和“Raw”的电子表格。 Final 有一个范围,用户可以在其中将 ID 输入到单元格 C3 到 C13 中。
从那里我想循环遍历该范围直到它为空,然后使用这些值循环遍历 Raw 中的一个范围,最终将这些值拉入 Final 的第三个范围。
如果我们用 SQL 术语讨论一对多关系,它本质上就是一个内连接。
我已经想到了几种不同的方法,包括使用application.worksheetfunction.index,但我正在努力想出一种方法来实现它。
编辑以添加代码:
Dim indexPO As Long
Dim i As Long
Dim endRow As Long
endRow = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
indexPO = Sheets(1).Cells(2, "C")
Do While Worksheets(1).Cells(i, "C").Value <> ""
indexPO = indexPO + 1
Do While Worksheets(2).Cells = indexPO
Worksheets(1).Cells(i, "A") = Worksheets(2).Cells(i, "A")
If Worksheets(2).Cells(i, "A") = "" Then
Exit Do
End If
Loop
Loop
范围 1 ID AAAA BBBB 中国交建
范围2 标识说明 AAAA 奶牛 AAAA 奶牛 AAAA 奶牛 AAAA 奶牛 BBBB 驼鹿 BBBB 驼鹿 BBBB 驼鹿 FFFF 猪 FFFF 猪 FFFF猪
期望的输出
ID 说明 AAAA 奶牛 AAAA 奶牛 AAAA 奶牛 AAAA 奶牛 BBBB 驼鹿 BBBB 驼鹿 BBBB驼鹿
【问题讨论】:
-
你能粘贴你已经尝试过的代码吗?你考虑过 VLookup 吗?
-
我需要在第三个范围内填充第二个范围内的尽可能多的记录,但要使用第一个范围内的索引,然后我可以查找其余部分。所以我需要解决我猜的第一步。
-
我必须同意 rayzinnz,这听起来像是您在寻找多重查找解决方案。也许如果您提供一个数据示例以及预期输出,它会更好地解释您的请求。
-
好的..告诉我是否符合您的要求,因为您确实提到了与内部联接的相似性。因此,假设您有 A 列和 B 列的数据。您是否要在 A 列和 B 列之间找到匹配项并将这些匹配值复制到 C 列?
-
是的。我想将这两个范围合并为范围 C。我将在主帖中提供一些示例数据和所需的输出。