|
Некорректно отрабатывает применение формулы к ячейке Excel | ☑ | ||
---|---|---|---|---|
0
Паланик
20.10.11
✎
09:48
|
Подключаюсь к экселевскому файлу через Application.
Далее идет некая обработка и в конце суммирую значения по строкам, вот так: Лист.Cells(10, 25).Formula = "=СУММ(R[5]C:R[" + Формат(Строка, "ЧГ=0")+ "]C[1])"; Затем захожу в этот файл и вижу в этой ячейке #ИМЯ?, вместо суммы. Но стоит два раза кликнуть по ней и уйти из редактирования, сразу всё суммирует. Как победить этот эффект? П.С.: В других местах тоже использую формулу, и там всё корректно. |
|||
1
Паланик
20.10.11
✎
10:17
|
Эксель информирует:
Возможные причины и решения Используется функция, входящая в состав настройки «Пакет анализа», которая не загружена Установите и загрузите надстройку «Пакет анализа». Инструкции В меню Сервис выберите команду Надстройки. В списке надстроек выберите Пакет анализа и нажмите кнопку OK. Выполните инструкции программы установки, если это необходимо. Используется имя, которое не было определено Определите имя. Выберите команду Имя в меню Вставка , а затем команду Присвоить. Кроме того, команда Присвоить используется для добавления имени, отсутствующего в списке. Ошибка в написании имени Проверьте орфографию. Выберите имя в строке формул , нажмите клавишу F3, выберите требуемое имя, а затем нажмите ОК. В формуле без включенных заголовков используется заголовок Разрешите использование заголовков. Выберите команду Параметры в меню Сервис, затем выберите вкладку Вычисления. В группе Параметры книги установите флажок допускать названия диапазонов. Ошибка в написании имени функции Исправьте написание имени. Вставьте в формулу правильное имя функции, выполнив команду Функция меню Вставка . В формулу введен текст, не заключенный в двойные кавычки. Microsoft Excel пытается распознать такую запись как имя, даже если это не предполагалось. Заключите в двойные кавычки содержащийся в формуле текст. Пример правильной записи формулы, объединяющей текстовый фрагмент «Всего: » со значением ячейки B50: ="Всего: "&B50 В ссылке на диапазон ячеек пропущено двоеточие (:) Исправьте формулу так, чтобы во всех ссылках на диапазон ячеек использовался знак двоеточия (:), например: СУММ(A1:C10). Изменен другой лист, не заключенный в ординарные кавычки Если формула содержит ссылки на значения ячеек других листов или книг, а имя другой книги или листа содержит небуквенные знаки или пробел, это имя необходимо заключить в апострофы ( ' ). Синтаксис то верный, имена тоже верные, ибо после двойного щелчка всё работает, что за чудеса? |
|||
2
Fragster
гуру
20.10.11
✎
10:20
|
а "=" там точно нужно?
|
|||
3
Паланик
20.10.11
✎
10:25
|
(2) Ну в описании так, эта строка целиком вставляется в строку формулы ячейки, а = там нужно.
|
|||
4
Паланик
20.10.11
✎
10:29
|
Есить такие вещи в коде, они работают как надо:
Лист.Cells(Строка, 25).Formula = "=RC[-7]*RC[-4]"; |
|||
5
Паланик
20.10.11
✎
10:41
|
Сейчас пробовал разные варианты, и такой косяк возникает при использовании "СУММА", т.е. без функций тупо арифметика отрабатывает нормально.
|
|||
6
Паланик
20.10.11
✎
10:46
|
(5) *СУММ
|
|||
7
korefana
20.10.11
✎
10:58
|
а если СУММ по аглицки написать попробовать?
|
|||
8
Kerk
20.10.11
✎
10:59
|
Попробуй типа "=СУММ(A1:E2)"
|
|||
9
Kerk
20.10.11
✎
11:01
|
А ты тут \/:
"=СУММ(R[5]C:R[" + Формат(Строка, "ЧГ=0")+ "]C[1])" не забыл указать [1]? |
|||
10
Kerk
20.10.11
✎
11:01
|
Т.е. после первой "С"
|
|||
11
catena
20.10.11
✎
11:57
|
+(7)Помню, было что-то с написанием рус/англ...
|
|||
12
SolarGard2
20.10.11
✎
12:12
|
Эти "грабли" проходили. Пиши формулы по английски.
|
|||
13
Паланик
20.10.11
✎
12:36
|
(7) По-аглецки даже после двойного щелчка не суммирует:
Лист.Cells(10, 25).Formula = "=summ(R[5]C:R[" + Формат(Строка, "ЧГ=0")+ "]C[1])"; (9) Нет, там просто объединенные 2 ячейки, нужна именно С. |
|||
14
Паланик
20.10.11
✎
12:49
|
(8) Такая же фигня.(
|
|||
15
Паланик
20.10.11
✎
13:16
|
(12) Получается, ты выкрутился использованием аглецкого написания формул, а у меня они вообще не работают, ни так, ни сяк... ЧЯДНТ?
Пробовал предварительно писать "мусор" в эту ячейку, тоже не спасло. Даже так вот, решил просто потестить: Лист.Cells(10, 25).Formula = "=СУММ(G4:G5)"; //Суммирую 2 пустые ячейки Лист.Cells(10, 27).Value = Лист.Cells(10, 25).Value; //копирую в результате получил в 10,27 = -2146826259 Откуда это число? оО |
|||
16
Паланик
20.10.11
✎
14:06
|
Мужики, выручайте)
|
|||
17
catena
20.10.11
✎
14:51
|
(15)О, отрыла свою обработку. Я писала так:
Лист2Штатки.Cells(8,4).FormulaR1C1 = ФормулаОбщКол; |
|||
18
Паланик
20.10.11
✎
15:37
|
(17) Не долго я радовался этому посту... не взлетело даже так.
|
|||
19
Паланик
20.10.11
✎
15:57
|
Взлетело вот так:
Лист.Cells(10, 25).FormulaR1C1 = "=SUM(R[5]C:R[" + Формат(Строка, "ЧГ=0")+ "]C[1])"; Всем спасибо!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |