gpt4 book ai didi

vba - 在单元格中输入公式会生成应用程序定义或对象定义的错误

转载 作者:行者123 更新时间:2023-12-02 10:42:51 24 4
gpt4 key购买 nike

我在网上搜索了解决方案并重新编写了VBA多次。我最终手动填充了一个字符串(以位为单位,因为我总是错误地计算引号):

PKHNTString = "=SUBSTITUTE(UPPER(AF:AF&AD:AD&AE:AE);" 
PKHNTString = PKHNTString + """ "";"""
PKHNTString = PKHNTString + """)"

这会产生一个包含以下内容的字符串:=SUBSTITUTE(UPPER(AF:AF&AD:AD&AE:AE);"";"")在本地变量中可以找到: : PKHNTString : "=SUBSTITUTE(UPPER(AF:AF&AD:AD&AE:AE);"";"")": 字符串

如果我将这个精确值粘贴到单元格中,它就会起作用(删除空格并将所有内容转换为大写),但是当我通过 VBA 将此公式放入单元格中时,如下所示:

NWS.Cells(j, 48).Formula = PKHNTString

我收到错误:运行时错误“1004”应用程序定义或对象定义错误。

如有任何帮助,我们将不胜感激!

TIA,威廉

最佳答案

您已指定分号 (;) 作为公式中的参数分隔符。通过 VBA,无论当前的区域设置如何,您始终需要使用逗号。然而,.FormulaLocal 确实需要列表分隔符的本地化版本。

由于不同 PC 之间的区域设置可能会有所不同,因此最好使用 .Formula 成员而不是 .FormulaLocal - 否则您必须使用代码来确定要使用的正确列表分隔符(可以通过某些 API 来完成) calle,但它比仅使用 .Formula 需要更多工作。

因此,要么使用.FormulaLocal,要么替换“;”带“,”(推荐)。

关于vba - 在单元格中输入公式会生成应用程序定义或对象定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34992109/

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