- 我想使用vba在单元格中插入公式。*
- 我第一次使用录音机的公式和记录后运行宏,它不工作。*
- 然后我尝试修改录制的宏以避免它成为
selection
或active cell
相关的问题。但没有成功。*
我缩短了公式,发现条件的数量似乎是相关的。
这是我的发现:
Sub test()
ThisWorkbook.Worksheets("Sheet1").Range("D4").Formula2R1C1 = "=LET(d,R4C1:R1008C3,a,INDEX(d,,1),b,INDEX(d,,2),b)"
End Sub
这可以正常工作。
当我添加另一个name
到LET
时,它出错:
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
时,它说:
1条答案
按热度按时间a64a0gku1#
在使用R1C1表示法编写时,需要避免使用c、C、r或R作为变量名,因为它们表示当前的Column(c)或Row(r),因此您试图将对列的引用加载到期望单个变量名的参数中。