Я впевнений, що це, мабуть, найпростіша справа коли-небудь, але я дійсно це затьмарюю.
Я маю наступний код у 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) з одинарними лапками навколо посилання на клітинку.
Чому це відбувається, і як я можу це виправити?
Відповіді:
1 для відповіді № 1Використовуйте .Formula
а не .FormulaR1C1
. Останній демонструє поведінку, яку ви дотримуєтесь за дизайном.
0 для відповіді № 2
Я вважаю за краще уникати робочого аркуша, оскільки ви використовуєте 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