我正在努力找到一种方法来描述这一点。基于Excel中的两个范围值设置值VBA
我有一个包含两个工作表“最终”和“原始”的电子表格。 Final有一个范围,用户可以在单元格C3到C13中输入一个ID。
从那里我想遍历该范围,直到它为空,并使用这些值循环遍历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 CCCC
范围2 ID描述 AAAA牛 AAAA奶牛 AAAA奶牛 AAAA牛 BBBB驼鹿 BBBB Moose BBBB Moose FFFF猪 FFFF猪 FFFF猪
希望的输出
ID描述 AAAA牛 AAAA奶牛 AAAA奶牛 AAAA牛 BBBB驼鹿 BBBB驼鹿 BBBB驼鹿
你能粘贴你已经尝试过的代码吗?你有没有考虑过VLookup? – rayzinnz
我需要在第二个范围内填充第三个范围的记录,但是第一个范围的索引要满足,然后我可以查找其余的范围。所以我需要解决我猜的第一步。 –
我不得不同意rayzinnz,这听起来像是您寻找多种查找解决方案。也许如果你提供了一个数据的例子以及预期的输出,它会更好地解释你的请求。 – goodfella