VBA excel R1C1配方

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

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)))"

我必须转义angular色吗? 像空引号或大括号?

你的公式需要定期的报价(你把它们翻倍),而不是单引号:

 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)))"