我确信这可能是最简单的事情,但我真的对此感到困惑。
我在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),在单元格引用周围有单引号。
为什么要这样做,我该如何纠正呢?
答案 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