2015-08-31 4 views
1

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

ThisWorkbook.Sheets("Sheet2").Cells(Lastrow + 1, 9).Formula = "=(SUMIFS(Sheet1!$B:$B,Sheet1!$O:$O,">0")/SUM(Sheet1!$B1:$B1000))*100" 

ответ

6

Проблема с ">0" использовать цитаты внутри String вам нужно сделать следующее:

"">0"" с двойными цитатами VBA понимает сво String внутри String.
вместо конца "String>0 некоторый код и " начало нового String.

-1

Вам нужно использовать одинарные кавычки для строки, иначе строка заканчивается и выдает ошибку, но может произойти что-то еще. Какова ваша точная ошибка?

+1

Формулы Excel не понимают одинарные кавычки; например ' ''. Двойные кавычки нужно удвоить как * 'кавычки в цитируемой строке' *. – Jeeped

+0

Дерьмо, что ты прав. Я отредактировал свой ответ. –

+0

Вы отредактировали свой ответ, но он все же утверждает, что вам нужно использовать одиночные кавычки. Это неверно, как упоминает Jeeped. См. Мой ответ для правильного пути. – DragonSamu