动态引用特定单元格的公式

Formula with dynamic reference to a specific cell

在以下表达式中,我想将 B2 动态设置为指向我插入公式的正确单元格:

WS1.Cells(4 + j - 1, 3 + ((i - 1) * 9)).Formula = "=VLOOKUP(B2;WS2!B:C;2;FALSE)"

我怎样才能做到这一点?

如果dynamic表示引用与接收公式的单元格在同一行的“B”,请尝试下一种方式:

WS1.Cells(4 + j - 1, 3 + ((i - 1) * 9)).Formula = "=VLOOKUP(B" & 4 + j - 1 & ",WS2!B:C,2,FALSE)"

并且VBA使用逗号作为列表分隔符,独立于本地化你应该使用逗号...

已编辑: 为了在公式中使用公式所在单元格左侧的单元格,请尝试下一种方式:

WS1.cells(4 + j - 1, 3 + ((i - 1) * 9)).Formula = _
    "=VLOOKUP(" & WS1.cells(4 + j - 1, 3 + ((i - 1) * 9) - 1).Address(0, 0) & ",WS2!B:C,2,FALSE)"