2015-03-19 7 views
0

Почему редактор VBA не поддерживает эту функцию? Он отлично работает в ячейке excel, но когда я пытаюсь включить его в макрос, он помечен как плохой синтаксис.Формула VBA excel R1C1

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

Должен ли я бежать символы? Как пустые цитаты или скобки?

+0

В версии/язык является то, что синтаксис «отлично жгутов преуспевания клетки»? – pnuts

+0

Вы должны удвоить котировку двойной котировки '' '' в коде VBA ''' 'в вашей строке, но у вас ее нет. Кроме того, я не думаю, что вам придется скрывать любые другие символы. – FreeMan

+1

Замените апострофы в формуле на "" – Rory

ответ

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)))" 
Смежные вопросы