вопрос в том, как заставить Excel ее вычислить, потому как вместо результата в ячейке светится #ИМЯ? и подсказка "формула содержит нераспознанный текст" и если после этого установить курсор на строку с форулой и просто нажать Enter то формула прекрасно вычисляется... Как сделать то же самое программным методом?
причем строка "=(2+2)" вычисляется нормально.
насколько я понял распознать оно не может слово "СУММ".
также пытался делать нечто вроде
Здравствуйте, A7exander, Вы писали:
A>формула в ячейку Excel помещается так: A>
A>var
A> Range, Sheet, Excel, v: Variant;
A>begin
A> Excel := CreateOleObject('Excel.Application');
A> Sheet := Excel.Workbooks[1].Sheets[1];
A> Sheet.Cells[i, j] := '=(2+2)'; // занесение формулы
A> Sheet.Cells[i, j] := '=СУММ(A1:A8)'; // занесение формулы
A> Excel.Visible := true;
A>end;
A>
A> вопрос в том, как заставить Excel ее вычислить, потому как вместо результата в ячейке светится #ИМЯ? и подсказка "формула содержит нераспознанный текст" и если после этого установить курсор на строку с форулой и просто нажать Enter то формула прекрасно вычисляется... Как сделать то же самое программным методом? A> причем строка "=(2+2)" вычисляется нормально. A> насколько я понял распознать оно не может слово "СУММ". A> также пытался делать нечто вроде A>
H_I>Имена формул надо писать по-английски. И будет тебе счастье. Причем, неважно — русский или аглицкий ексель у тебя стоит.
Спасибо за отклик, попробовал, но в результате тот же "#ИМЯ?" вместо результата, та же подсказка, но вдобавок теперь если установить курсор на строку с формулой в ячейке и нажать Enter то ничего не меняется, тоесть похоже "SUMM" эксель не понимает впринципе... Может где то переключить что нибудь нужно, чтоб англоязычные функции понимал? Эксель из пакета "OFFICE 2003"
Как я уже отвечал Horror_Infinity, применение "SUMM" ничего не дает, и Excel понимает только "СУММА"... Применение ".Formula" к сожалению таже ничего не меняет.
A>Спасибо за отклик, попробовал, но в результате тот же "#ИМЯ?" вместо результата, та же подсказка, но вдобавок теперь если установить курсор на строку с формулой в ячейке и нажать Enter то ничего не меняется, тоесть похоже "SUMM" эксель не понимает впринципе... Может где то переключить что нибудь нужно, чтоб англоязычные функции понимал? Эксель из пакета "OFFICE 2003"
Сорри за опечатку!
Конечно же, надо написать вот так:
З.Ы. На будущее. Очень легко подсмотреть, как правильно писать формулы: Включаешь запись макроса в Екселе, пишешь нужную тебе формулу, останавливаешь запись, идешь в редактор макросов и смотришь, как надо тебе в дельфе написать, чтоб все работало.
H_I>З.Ы. На будущее. Очень легко подсмотреть, как правильно писать формулы: Включаешь запись макроса в Екселе, пишешь нужную тебе формулу, останавливаешь запись, идешь в редактор макросов и смотришь, как надо тебе в дельфе написать, чтоб все работало.
Спасибо, SUM сработало, причем если SUM набирать в формуле вручную то Excel ее не понимает, что меня и сбило с толку, однако при программном занесении в ячейку конвертирует в "СУММ" и нормально вычисляет.