16.04.2004, 09:12 | #1 |
Участник
|
Как в ячейку Excel поместить формулу?
Здравствуйте.
Проблема в том, чтобы в ячейке содержалась сама формула. При вставле через value или formula значения '=A1+B1' в ячейку записывается сразу результат вычисления. Необходимо же возможность измненения вручную этой формулы. Спасибо. |
|
16.04.2004, 16:37 | #2 |
Участник
|
попробовал - вроде все работает нормально
--------------- COM comRange, comWorkSheet; comRange = comWorkSheet.Range(bookMark); comRange.value2("=A1+b1"); ----------------- при записи в ячейку формулы - формула в нее и помещается, т.е на листе виден результат, а формулу можно отредактировать в строке формул excel 2003 если надо чтобы ячейка содержала просто строку формулы без вычисления добавь первым символом ' comRange.value2("\'=a1+b1"); |
|
17.04.2004, 08:47 | #3 |
Участник
|
хм... чето мой ComRange пишет что у COM-объекта метода value2 НЕТ.
comSpreadSheet = new COM('OWC.SpreadSheet'); comActiveSheet = comSpreadSheet.ActiveSheet(); comRange = comActiveSheet.range('A1'); comRange.value2('=B1+C1'); странно имхо.. Excel XP |
|
19.04.2004, 16:01 | #4 |
Участник
|
Плохо.
открой для екселя редактор вижал бейсика и в нем постмотри все свойства и методы, которые применимы для range. |
|
20.04.2004, 07:40 | #5 |
Участник
|
В том то и дело что такая функция есть в VB - и все работает. Когда вызываешь эти функции через COM, то их как и не бывало...
|
|
20.04.2004, 14:05 | #6 |
Участник
|
Проблема с формулами решена.
Оказывается при копировании диапазонов с формулами, если в копируемом диапазоне нет ячейки, на которую ссылается формула, то происходит автоматическое вычисление значения и вставляется только значение. простыми словами - копируйте диапазоны, в которых не ссылок на внешние ячейки. АлГол, спасибо за поддержку |
|