VBA插入'进入公式

时间:2015-02-05 10:31:16

标签: excel-vba vba excel

我确信这可能是最简单的事情,但我真的对此感到困惑。

我在VBA中有以下代码:

For j = 0 To n
    For i = 0 To 11
        Dim y As Integer
        y = Sheets("Checking").Cells(3 + j, 4 + (i * 4)).Value
        Sheets("Checking").Cells(3 + j, 5 + (i * 4)).FormulaR1C1 = "=VLookup(A" & 3 + j & ",PPG," & y + 1 & ",0)"
    Next i
Next j

这就是我需要它做的事情,但是当它将VLookup公式插入到excel中时,它出现为= VLOOKUP('A3',PPG,2,0),在单元格引用周围有单引号。

为什么要这样做,我该如何纠正呢?

2 个答案:

答案 0 :(得分:1)

使用.Formula而不是.FormulaR1C1。后者展示了您通过设计观察的行为。

答案 1 :(得分:0)

由于您使用的是VBA,我更愿意避开工作表:

Sub M_snb()
 sn = [PPG]
 sp = [PPG].Columns(1)

 For j = 0 To n
  For jj = 0 To 11
    With Sheets("Checking").Cells(3 + j, 5 + (jj * 4))
       .Value = sn(Application.Match(Cells(j + 3, 1), sp, 0), .Offset(, -1).Value)
    End With
  Next
 Next
End Sub