VBA优于R1C1配方

时间:2015-03-19 14:55:23

标签: excel vba excel-vba

为什么VBA编辑器不喜欢这个功能?它在excel单元格中运行良好,但是当我尝试将其合并到宏中时,它被标记为错误的语法。

ActiveCell.FormulaR1C1 = "=IF(COUNT(FIND({0,1,2,3,4,5,6,7,8,9},LEFT(R2C1,1)))=0,MID(LEFT(R2C1,FIND(' ',R2C1,1)), FIND('.',R2C1,1)+1, FIND(' ',R2C1,1)), LEFT(R2C1,FIND(' ',R2C1,1)))"

我是否必须逃避角色?像空引号或大括号?

1 个答案:

答案 0 :(得分:1)

你的公式需要定期引用(你可以通过加倍来逃避)而不是单引号:

ActiveCell.FormulaR1C1 = "=IF(COUNT(FIND({0,1,2,3,4,5,6,7,8,9},LEFT(R2C1,1)))=0,MID(LEFT(R2C1,FIND("" "",R2C1,1)), FIND(""."",R2C1,1)+1, FIND("" "",R2C1,1)), LEFT(R2C1,FIND("" "",R2C1,1)))"