2014-02-14 2 views
1

Ok, я использовал формулу, которая была предложена, что хорошо работает, должен работать без проблем, но теперь я получаю эту ошибку:Ожидаемый конец Заявление

Expected End of Statement

Вот формула

Range("B4").FormulaR1C1 = "=IF(RC[-1]="T",VLOOKUP(RC[7],treatlookup,11,FALSE),VLOOKUP(RC[7],itemlookup,22,FALSE))" 

Не уверен, что происходит, почему это происходит. Какие-либо предложения.

Спасибо,

ответ

1

побег внедренные двойные кавычки ("T") путем их удвоения (""T""):

Range("B4").FormulaR1C1 = "=IF(RC[-1]=""T"",VLOOKUP(RC[7],treatlookup,11,FALSE),VLOOKUP(RC[7],itemlookup,22,FALSE))" 
             ^^^ 
             | 
             Here 

Excel пытается спариваться открытие цитаты на "=IF со следующей двойной кавычки находит, что находится на "T", и эта часть ("=IF(RC[-1]=") не является действительным заявлением. Удвоение их говорит Excel рассматривать их отдельно, что позволяет им правильно встраиваться в формулу.

(ошибка будет выделен для вас, когда вы получаете сообщение, если вы посмотрите на коде, это указывающее, вот как я это заметил.)

+0

@SASUSMC Так, чтобы исправить эту проблему, обернуть 'T' в двойные кавычки. '" "T" "' – ARich

+0

Спасибо, за помощь. Всегда путайте элемент с одиночной/двойной цитатой. – SASUSMC

+0

@KenWhite Одиночные кавычки не работают; [они вызывают ошибку.] (http://stackoverflow.com/questions/21787594/formula-application-defined-or-object-defined-error/21787658#21787658) – ARich

Смежные вопросы