2017-02-21 12 views
0

Я пытаюсь заставить свой скрипт VB вводить формулу Excel в ячейку. К сожалению, мне пока не повезло.VBA - Установите формулу Excel, содержащую кавычки как значение ячейки

Sheets("ABC").Select 
Range("B2").Value = "=IF(Mat_Location!F2=0;"";Mat_Location!F2)" 

Через некоторое Googling и поиск на этом сайте, я понял, что это было бы из-за кавычки, и поэтому я попытался изменить кавычки в двойные кавычки.

Sheets("ABC").Select 
Range("B2").Value = "=IF(Mat_Location!F2=0;"""";Mat_Location!F2)" 

Это также не помогло.

Любая помощь приветствуется. Заранее спасибо.

+0

Чтобы добавить кавычки использовать четыре из них есть, туЗЬптд = «Адам сказал,» & «» «» & " Привет, Джейн! & "" "" –

+0

Формула прекрасна (Предполагая ";" - ваш делиметр в отличие от ","). Несколько основных проверок, ABC защищена и B2 заблокирована ячейка? ли лист «Мат_Локация» существует в рабочей книге, которая активна в этой точке кода (листы явно не относятся к конкретной книге в этом случае) – Zerk

+0

@JohnMuggins он специально сказал, что попробовал это. – Zerk

ответ

1

Замените ваш номер " на Chr(34), его легче отладить.

Кроме того, нет необходимости в Select листах.

Sheets("ABC").Range("B2").FormulaLocal = "=IF(Mat_Location!F2=0;" & Chr(34) & Chr(34) & ";Mat_Location!F2)" 

Примечание: кажется, региональные настройки вашего Excel являются имеющей ; как разделители внутри формулы. Настройки по умолчанию является ,, поэтому для моей Excel настройки (может быть, и ваши) это может быть:

Sheets("ABC").Range("B2").Formula = "=IF(Mat_Location!F2=0," & Chr(34) & Chr(34) & ",Mat_Location!F2)" 
+0

@AxelRichter спасибо за исправление, посреди «отладки» здесь :) –

+0

Спасибо, с последним редактированием он отлично работал. :) –

+0

@ D.Todor :) добро пожаловать –

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