Написание формулы Excel с использованием vb.net - PullRequest
1 голос
/ 21 июня 2011

Я хочу написать формулу в SUM из столбца B4 в M4, это должно быть сделано с помощью программирования на vb.net.

Я пытался использовать следующие вещи:

oXLWsheet.Range(4, 14).Formula = "=SUM(oXLWsheet!$B$4:M$4)" 
                                 "=SUM(B4:M4)" 
                                 "=SUM(B4,C4,D4,E4,F4,G4,H4,I4,J4,K4,L4,M4)"

Ничто не работает для меня. Я получаю следующую ошибку при запуске кода:

"Exception from HRESULT: 0x800A03EC".

Ответы [ 3 ]

3 голосов
/ 21 июня 2011

Попробуйте заключить в кавычки диапазон, и если вы пытаетесь заполнить две разные строки, вы должны показать каждую строку следующим образом:

oXLWsheet.Range("4:4,14:14").Formula = "=SUM(oXLWsheet!$B$4:M$4)"

Это, конечно, дает круговую ссылку.Если вы просто пытаетесь поместить значения в ячейку N4, используйте это:

oXLWsheet.Range("$N$4").Formula = "=SUM(oXLWsheet!$B$4:M$4)"

(необязательные знаки доллара)

1 голос
/ 21 июня 2011

Вы должны использовать ячейки вместо диапазона с этим обозначением:

oXLWsheet.Cells(4, 14).Formula = "=SUM(oXLWsheet!$B$4:M$4)"
0 голосов
/ 02 декабря 2017

При работе с поздним связыванием вы должны разделить свои отчеты:

Dim oXLRange as Excel.Range
oXLRange = CType(oXLWsheet.Cells(4, 14), Excel.Range)
oXLRange.Formula = "SUM(Q8:T9)"

Используя свойство .Formula, вы должны использовать английскую версию формулы Excel.Если вы хотите использовать локализованную версию формулы Excel, используйте .FormulaLocal

...