gpt4 book ai didi

excel - 使用 VBA 在 Excel 工作表中插入公式的问题

转载 作者:行者123 更新时间:2023-12-04 22:16:32 25 4
gpt4 key购买 nike

我最近在使用 VBA 将公式插入 Excel 工作表时遇到了一个问题。在相关代码下方;

Calculatie_cell.Offset(n, 5) = "=SOM(H" & (n + 3 - 1) & ":H" & (n + 3 - Onderdelen_aantal) & ")"
Calculatie_cell.Offset(n, 8) = "=SOM(K" & (n + 3 - 1) & ":K" & (n + 3 - Onderdelen_aantal) & ")"
对于它触发的第一次迭代,预期的输出是;
=SOM(H4:H7)
=SOM(K4:K7)
我收到的输出是;
=@SOM(H4:H7)
=@SOM(K4:K7)
此输出产生 #NAME?错误。按 F2,在单元格上输入(就像手动输入一样),会出现错误,指出旧版本的 Excel 不支持此公式,并可选择将其更正为预期输出。如果我接受它,它会起作用。
我找不到为什么 Excel 认为它需要 @ 并且下面的代码没有从公式中过滤 @(但它确实从带有 @ 的随机文本中过滤出来)
Calculatie_cell.Offset(n, 5) = Replace(Calculatie_cell.Offset(n, 5), "@", "")
Calculatie_cell.Offset(n, 8) = Replace(Calculatie_cell.Offset(n, 8), "@", "")
有没有人建议我如何摆脱@,或另一种使公式起作用的方法?提前致谢!
相关说明;我在荷兰语中使用 Excel 2016,意思是“SOM”是拼写“SUM”的正确方法

最佳答案

首先,无论您的 Office 安装语言是什么,VBA 都会要求输入英文。
因此,替换 SOM通过 SUM在你的代码中。
它应该显示为 SOM在工作簿中,但不在代码中。
其次,使用 oCell = "=SOME_FORMULA"通常不会产生预期的结果。
相反,应该使用 oCell.Formula2 = "=SOME_FORMULA" .
这就是为什么 @出现在公式中。
this文章以获取信息。

最后,您的代码应该是

Calculatie_cell.Offset(n, 5).Formula2 = "=SUM(H" & (n + 3 - 1) & ":H" & (n + 3 - Onderdelen_aantal) & ")"
Calculatie_cell.Offset(n, 8).Formula2 = "=SUM(K" & (n + 3 - 1) & ":K" & (n + 3 - Onderdelen_aantal) & ")"

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

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