分配公式时应用程序定义或对象定义的错误

时间:2018-03-28 06:13:23

标签: excel vba

关于以下代码,我有一个小问题:

Worksheets("Sheet1").Range("A1").Formula = "=RANK(AA12" & CStr(Application.International(xlListSeparator)) & "AA12:AA23)"

您可以放心地假设“Sheet1”存在。在执行代码时,代码为我提供了应用程序定义或对象定义。我想知道出了什么问题。我认为我的公式已经正确定义。

2 个答案:

答案 0 :(得分:1)

除非您使用.FormulaLocal属性,否则只需将EN-US语法,函数和区域列表分隔符与.Formula.FormulaR1C1一起使用即可。他们会相应地在工作表上进行调整。

Worksheets("Sheet1").Range("A1").Formula = "=RANK(AA12, AA12:AA23)"

答案 1 :(得分:0)

您是否在编写代码的同一个excel中执行此代码? 如果必须在不同的excel文件中执行,那么你必须提到excel文件的名称。 工作簿()。工作表(“Sheet1”)。范围(“A1”)。公式=“= RANK(AA12”& CStr(Application.International(xlListSeparator))&“AA12:AA23”“