Использование функции при назначении формулы - PullRequest
1 голос
/ 16 января 2012

Я пытаюсь назначить формулу ячейке с помощью макроса в Excel:

Worksheets("Jan").Cells(30,J).Formula= "=ADDRESS(24;3)"

Это не работает. Назначение формулы как "=1+1" работает.

Странная вещь, когда я ввожу вышеупомянутую формулу непосредственно в Excel, чтобы ячейка работала. Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 16 января 2012

Ну, у вас есть пара проблем в этой строке кода. Если J не является переменной, не показанной, .Cells(30,J) должно быть .Cells(30, "J")

Также "=ADDRESS(24;3)" должно быть "=ADDRESS(24,3)". Вы разделяете значения запятой, а не точкой с запятой.

0 голосов
/ 17 января 2012

Другая альтернатива - использовать что-то вроде этого: 'Worksheets ("Jan"). Cells (30, "J"). Value = "= ADDRESS (24,3)"'

Этот подход будетпоместите строку"= АДРЕС (24,3)" в указанную вами ячейку.

Это делает то, что вы хотите?


Обновить: 1) Похоже, что другие правильно определили и решили реальную проблему: проблему настройки локали.2) Справка Microsoft также показала мне, что адресация «.formula» - это правильный способ ввода формулы, поэтому мое предложение может быть полезным в качестве шага устранения неполадок, но это не лучший способ сделать это..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...