gpt4 book ai didi

vba - 在 Excel 中使用 VBA 插入公式不起作用

转载 作者:行者123 更新时间:2023-12-04 21:55:19 25 4
gpt4 key购买 nike

首先,我尝试查看使用 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

但是,它仍然给我这个令人讨厌的错误,我无法解释
enter image description here

如果我将线路更改为
Wksht.Cells(i, 18) = "'IFERROR(VLOOKUP(A" & i & ";" & Wksht.Cells(1, 18) & "!$A:$A;1;FALSE);" & Chr(34) & "MISSING" & Chr(34) & ")"

然后我没有收到错误,并且添加了正确的公式,尽管作为文本字符串

出了什么问题,因为它不会添加对我来说看起来像有效公式的东西?

//V

最佳答案

Formula property 要求公式用英文编写,即英文函数名称(这里不是问题)和逗号作为分隔符而不是分号。

所以你的陈述应该是:

Wksht.Cells(i, 18).Formula = "=IFERROR(VLOOKUP(A" & i & "," & Wksht.Cells(1, 18) & "!$A:$A,1,FALSE)," & Chr(34) & "MISSING" & Chr(34) & ")"

如果您不介意“可移植性”问题,您也可以使用 FormulaLocal属性(property),即
Wksht.Cells(i, 18).FormulaLocal = "=IFERROR(VLOOKUP(A" & i & ";" & Wksht.Cells(1, 18) & "!$A:$A;1;FALSE);" & Chr(34) & "MISSING" & Chr(34) & ")"

关于vba - 在 Excel 中使用 VBA 插入公式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46215255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com