首先,我试图查看使用VBA添加公式的所有其他示例,并且我认为我已尝试在此代码中应用所有答案在Excel中使用VBA插入公式不起作用
Sub AddFormulas(SheetName As String)
Dim i As Integer
'Switch worksheet
Set Wksht = ThisWorkbook.Worksheets(SheetName)
Wksht.Activate
Application.Calculation = xlCalculationManual
i = 2
While Not IsEmpty(Cells(i, 1))
Wksht.Cells(i, 18).Formula = "=IFERROR(VLOOKUP(A" & i & ";" & Wksht.Cells(1, 18) & "!$A:$A;1;FALSE);" & Chr(34) & "MISSING" & Chr(34) & ")"
i = i + 1
Wend
Application.Calculation = xlCalculationAutomatic
End Sub
如果我改变我行
Wksht.Cells(i, 18) = "'IFERROR(VLOOKUP(A" & i & ";" & Wksht.Cells(1, 18) & "!$A:$A;1;FALSE);" & Chr(34) & "MISSING" & Chr(34) & ")"
然后时I g等没有错误,并添加了正确的公式,虽然作为文本字符串
什么是错的,因为它不会添加什么对我来说看起来像一个有效的公式?
// V
通过VBA插入时,必须使用英文版公式。所以'''应该是','。 – YowE3K
您应该在'Wksht.Cells(x,x)'后面使用'.Formula'或'.Formulalocal'或'.Value'或'.Text'' – Tibo