Какой формат имеет формула ячейки в VBA

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
gad-spider
Сообщения: 1
Зарегистрирован: 17 июл 2009, 16:57

Вообщем хочу присвоить ячейке формулу прогрммно, т.е. с плавающими параметрами i И j. Однако код не работает, где ошибся?

Sheet.Range("A2").Formula="=Наклон( Sheet.Range(Sheet.Cells(i, j), Sheet.Cells(i, j));Sheet.Range(Sheet.Cells(i, j), Sheet.Cells(i, j)))"
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/

Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
kuznetsovSergey
Сообщения: 163
Зарегистрирован: 05 мар 2009, 11:27

ну скажу тебе, что формулу ты конечно написал пипец ... настолько не граматно что аж волосы дыбом встают ..
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
попробую объяснить то что ты написал :
1) "" - это параметр. который опделеяет что будет входить в формулу, а код типа:
Sheet.Range(Sheet.Cells(i, j) это VB. Это не Excel формат )))
поэтому чисто теоретически, это уже что бросается в глаза, и вызывает смех, и себе представляю как это взрывает мозг бедному excel ))
2) Не понятно вообще что за формула, это полный пипец ... она абсолютно радномная, не понятно что вы хотели получить ))
давайте будет разбираться по шагово, и попробуем прийти к верному решению данной проблемы, проблема явно присутствует, но не в коде, а в самом понимании принципа работы ))
Ладно буду серьёзным, и хочу помочь:

Код: Выделить всё

Sheet.Range("A2").Formula="=Наклон( Sheet.Range(Sheet.Cells(i, j), Sheet.Cells(i, j));Sheet.Range(Sheet.Cells(i, j), Sheet.Cells(i, j)))" 
что вы хотели получить ? как мне кажеться, это вы хотите вписать в ячейку A2 на листе Sheet. формулу: "=Наклон()"
По синтаксису данной функции. необходимо ввести всего 2 значения, я так понимаю, они могут быть разными. Раз вы задаёте переменную.
В чём минус, что опять просается в глаза ) Это то. что вы в одну ячейку хотите вбить несколько разным значений ))) учтите. что в ячейке останеться только последний вариант, все остальные заменяться.
Формула конечно же. вообще не понятно что вы от неё хотите, такое ощущение. как будто вы вообще не хотели думать, написали лишь бы что. и просите помочь.


опишите то что вы хотите получить в конечном итоге. и контекст задачи. и тогда я готов вам помочь, а с этим бредом даже разбираться не буду...
pilligrim
Сообщения: 43
Зарегистрирован: 20 июл 2007, 07:57
Откуда: UZ
Контактная информация:

Если я вас правильно понял, то попробуйте вот этот код.

Код: Выделить всё

Sheet.Range("A2").FormulaR1C1="=SLOPE(R" & i & "C" & j & ",R" & i & "C" & j & ")"
Этот код вставляет формулу наклон (SLOPE) с параметрами на одну ячейку (строка i и столбец j)
Ответить