2011-01-18 9 views
0

У меня есть приложение, которое экспортирует данные в Excel. Пользователь может добавить некоторые формулы для листа excel после того, как он экспортирует данные, как он может сделать =sum(o1:o12), и поместите результаты в o13. Пользователь также имеет возможность повторно экспортировать данные на один и тот же лист. Что может случиться ... что более или менее ряды были бы экспортированы в зависимости от некоторых условий. Например .... последний раз там 12 строк, поэтому пользователь поместил формулу в строку 13, но на этот раз 20 строк могут быть экспортированы, поэтому excel должен иметь возможность переместить формулу из ячейки o13 в o21 и должен обновить формулу из =sum(o1:12) до =sum(o1:20). В другом случае ... только 5 строк могут быть экспортированы из приложения, поэтому формула должна перейти в ячейку o6, и формула должна быть обновлена ​​до =som(o1:o5).Переместить формулы excel программно

Есть ли способ попросить excel сделать это программно?

ответ

0

LastRow = Range("O65535").End(xlUp).Row вернет номер последней заполненной ячейки в столбце O.

Следующая вещь, чтобы сделать:

Range("O" & LastRow+1).Value = "=Sum(O1:O" & LastRow & ")" 
Range("O" & LastRow+1).formula = "=Sum(O1:O" & LastRow & ")" will work as well. 

Последняя вещь, когда вы используете LastRow = Range("O65535").End(xlUp).Row, будьте осторожны, если последняя ячейка в столбце O формула суммы.

Это должно работать, но не стесняйтесь задавать вопросы, если это не так

+0

Спасибо за подсказку. позвольте мне задать мне еще одну вещь ... здесь, в приведенном выше примере, мы знаем формулу = sum (o1: o10), чтобы мы могли написать инструкцию для перемещения формул, но что, если приложение не знает формулы пользователя. Я знаю, что приложение может спросить excel о своих формулах, но если формула очень сложна и использует много столбцов для вычисления некоторой стоимости, то как приложение сможет использовать эту технику для достижения того, чего именно я хочу достичь. Также обратите внимание, что формулы могут быть не только в ячейке O13, которая делает = sum (o1: o12), но может быть любой формулой, которая использует любые столбцы для – saurabh

+0

для вычисления значения и размещения данных в любой ячейке. Может быть, я прошу больше, но я просто хочу посмотреть, можно ли это сделать в excel. Я просто удивляюсь, что мы можем поручить excel обновлять прецеденты всех формул и перемещать их вверх или вниз всякий раз, когда приложение экспортирует – saurabh

+0

. Я не знаю, может ли excel определить, что является формулой внутри ячейки, поэтому я не знаю, то, что вы хотите, возможно –

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