【发布时间】:2021-09-19 00:21:00
【问题描述】:
基本上我需要创建一个 VLOOKUP,它引用我工作簿中的另一个工作表并从相关行中获取数据以创建查找值。 A 列有列车名称,B 列有车站名称。 C、F、I、L...列中的标题有一周中的某一天。我需要在每一列上应用一个 VLOOKUP,例如这里的 C 列,动态行数将查找 Cell(A, [row VLOOKUP is applied to]) 和 Cell(B,[row VLOOKUP正在应用于]) 和 Cell(C1)。
我当前的代码:
i = 3
Dim lastRow As Integer
lastRow = Worksheets("% On Time Customers").Cells(Rows.count, 1).End(xlUp).Row
For Each cell In Worksheets("% On Time Customers").Range("C3:C" & lastRow)
lookupSunday1 = CStr(Cells(i, 1) & "/" & Cells(1, 3) & "/" & Cells(i, 2))
cell.Formula = "=VLOOKUP(lookupSunday1,'COTP'!$I:$Y,11)"
i = i + 1
Next
这有点适用于 C 列 - 有一个#NAME?错误并且每个单元格包含 =VLOOKUP(@lookupSunday1,COTP!$I:%Y,11) 而不是我不确定如何修复的查找结果。
我宁愿不必为一周中的每一天创建 for 循环,特别是因为在一周中的每一天下,有三个单独的列需要再次查找,这似乎非常耗时。但是,如果这是这样做的方法,那么它会起作用。
【问题讨论】:
-
Index()在您Match()一次之后的每列信息,或者匹配一次和destination.value=source.value如果列位置不使用Match()行更改。