这是我想要打印到列中每个单元格的公式:
=VLOOKUP(CONCATENATE(E2,C2), WORKABILITY_INDEX!$A$1:$B$82, 2, FALSE)
我正在使用类似下面的语句:
Last = Cells(Rows.Count, "A").End(xlUp).Row
For i = Last To 2 Step -1
If (Cells(i, "A").Value) <> "" Then
Cells(i, "L").Formula = "=VLookup(Concatenate(RC[-8],RC[-10]), ""WORKABILITY_INDEX!$A$1:$B$82"", 2, False)"
End If
Next i
答案1
您的代码有几个错误——首先,的值Last
始终为 1,而不是最后一行的数字。
尝试这个:
Sub insertFormulas()
Last = ActiveSheet.UsedRange.Rows.Count
For i = Last To 2 Step -1
If (Cells(i, "A").Value) <> "" Then
Cells(i, "L").Formula = "=VLOOKUP(CONCATENATE(E" & i & ",C" & i & "), WORKABILITY_INDEX!$A$1:$B$82, 2, FALSE)"
End If
Next i
End Sub
主要变化:
1. 我使用UsedRange
活动工作表的属性来获取行数。2
. 我放弃了 R1C1 公式样式,改用您想要的公式输出。相对单元格引用是通过将行号连接到公式字符串中来构建的。