2013-12-26 2 views
1

Я пытаюсь вставить формулу VLOOKUP в ячейку. Я даже не пытаюсь подменить параметры. Я использую этот код:Вставка формулы VLOOKUP в ячейку

myCell.Offset(0, 4).Value = "=VLOOKUP(A2;AnotherWorksheet!$A$1:$B$231;2;FALSE)" 

И я получаю сообщение об ошибке: 1004

Если я вставляю, что точная формула в ячейке, то формула признается и принимается ... Любой намек? благодаря!

ответ

3

Во-первых, используйте ,, а не ; при разделении аргументов. Во-вторых, вы ищете недвижимость .Formula, а не .Value. .FormulaR1C1 может работать, но для точности просто используйте формулу A1-стиль для вашего VLOOKUP. Смотри ниже.

Код:

Sub Voom() 
    Range("A1").FormulaR1C1 = "=VLOOKUP(A2,""AnotherWorksheet!$A$1:$B$231"",2,FALSE)" 
End Sub 

Результат:

enter image description here

#N/A Это показывает, потому что, конечно, у меня нет данных. :)

Для вашего точного кода, просто используйте:

myCell.Offset(0, 4).Formula = "=VLOOKUP(A2,""AnotherWorksheet!$A$1:$B$231"",2,FALSE)" 

Надеется, что это помогает.

+0

+1 хорошо покрыты. – brettdj

2

Необходимо использовать свойство Formula.

Например:

myCell.Offset(0, 4).Formula = "=VLOOKUP(A2,""AnotherWorksheet!$A$1:$B$231"",2,FALSE)" 

Из MSDN, то Formula property и документация FormulaR1C1 property.

+1

Должно быть только '.Formula', а не' .FormulaR1C1'. Либо работает, но ради точности ... :) – Manhattan

+0

@ bk201 стоит опубликовать это как ответ :) – brettdj

+0

@brettdj: Как вы пожелаете, мой сеньор. Хотя я должен сказать, что работает и .FormulaR1C1' на этой формуле. Мне просто нужно было изменить афорию ';' на ','. – Manhattan

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