Excel vba Formula2R1C1 LET使用“r”或“c”作为名称时产生运行时错误1004

ve7v8dk2  于 2023-01-27  发布在  其他
关注(0)|答案(1)|浏览(361)
  • 我想使用vba在单元格中插入公式。*
  • 我第一次使用录音机的公式和记录后运行宏,它不工作。*
  • 然后我尝试修改录制的宏以避免它成为selectionactive cell相关的问题。但没有成功。*

我缩短了公式,发现条件的数量似乎是相关的。
这是我的发现:

Sub test()

ThisWorkbook.Worksheets("Sheet1").Range("D4").Formula2R1C1 = "=LET(d,R4C1:R1008C3,a,INDEX(d,,1),b,INDEX(d,,2),b)"

End Sub

这可以正常工作。
当我添加另一个nameLET时,它出错:

Sub test()

ThisWorkbook.Worksheets("Sheet1").Range("D4").Formula2R1C1 = "=LET(d,R4C1:R1008C3,a,INDEX(d,,1),b,INDEX(d,,2),c,INDEX(d,,2),b)"

End Sub

这会产生以下错误:

我似乎不明白是什么原因导致这个错误,我希望有人在这里知道什么方向思考。
这是Windows 11笔记本电脑(私人)和运行Office版本:18.2301.1131.0
编辑:当添加option explicit时,它说:

a64a0gku

a64a0gku1#

在使用R1C1表示法编写时,需要避免使用c、C、r或R作为变量名,因为它们表示当前的Column(c)或Row(r),因此您试图将对列的引用加载到期望单个变量名的参数中。

相关问题