2016-02-16 7 views
3

Я посылаю функций внутри VBA кода в ячейки с VBA-кода строки, как показано ниже:Как скомбинировать опции FormulaArray и FormulaLocal в Excel VBA?

Sheets("Sheet1").Range("B2").FormulaLocal = "=somefunctions_in_local_language" 

Я использую FormulaLocal вариант, поскольку функции в клетках находятся на местном языке, а не на английском языке.

Теперь я хочу отправить функции массива, и я должен использовать FormulaArray для этого. Однако даже функции массива будут находиться на локальном языке. Думаю, я должен как-то комбинировать как FormulaArray, так и FormulaLocal, но как?

Я попытался найти, если есть что-то вроде FormulaArrayLocal, но нет такой вещи. Итак, любая идея?

+1

Возможный дубликат [Запись в Range.FormulaArray дает мне #NAME! error] (http://stackoverflow.com/questions/25250756/writing-into-range-formulaarray-gives-me-a-name-error) –

ответ

2

Эта связь не дает прямого ответа, но я нашел решение:

Sheets("Sheet1").Range("B2").FormulaLocal = "=somefunctions_in_local_language" 
Sheets("Sheet1").Range("B2").FormulaArray = Sheets("Sheet1").Range("B2").Formula 

Он должен быть только .Formula во второй строке. Если вы используете .FormulaLocal, вы получите сообщение об ошибке.

+0

Хороший! Вернитесь через 48 часов, чтобы принять это как ответ. – Jeeped

+0

Какая ошибка у вас возникла при использовании '.FormulaLocal'? –

+0

@IronMan Я попытаюсь перевести с локального языка. Сообщение об ошибке похоже на «Ошибка времени выполнения 1004». Невозможно установить свойство FormulaArray для класса Range' – user3714330

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