Цитата |
---|
Wiss написал: Увидеть бы что именно Вы пишете... У меня в файле-примере есть нормальная рабочая формула. У Вас точно не хватает кавычек в начале. Формула для программы это текст, текст должен быть в кавычках.objExcel.Cells(i, 19).FormulaR1C1 = "= Формула"
|
При формирования отчета в VB:
objExcel.Cells(1, 1).Value = " ID"
objExcel.Cells(1, 2).Value = " Услуга"
objExcel.Cells(1, 3).Value = " Группа"
objExcel.Cells(1, 4).Value = " Тип_запроса"
objExcel.Cells(1, 5).Value = " Статус_(Alias)"
objExcel.Cells(1, 6).Value = " Способ_обращения_(полный)"
objExcel.Cells(1, 7).Value = " Инициатор"
objExcel.Cells(1, .Value = " Поданные от одного инициатора более 3-х раз"
objExcel.Cells(1, 9).Value = " Время_регистрации_(создания)"
objExcel.Cells(1, 10).Value = " Время_принятия_в_работу"
objExcel.Cells(1, 11).Value = " Время_выполнения_(дата)"
objExcel.Cells(1, 12).Value = " Время_закрытия"
objExcel.Cells(1, 13).Value = " Код_выполнения"
objExcel.Cells(1, 14).Value = " Краткое_описание"
objExcel.Cells(1, 15).Value = " Описание"
objExcel.Cells(1, 16).Value = " Решение"
objExcel.Cells(1, 17).Value = " Ответственный"
objExcel.Cells(1, 18).Value = " Комментарии"
objExcel.Cells(1, 19).Value = " Не заполненный Протокол"
Set objRset = Statistics.Database.CreateRecordset("SELECT * FROM request", 3)
i = 1
Do While Not objRset.EOF
i = i + 1
objExcel.Cells(i, 1).Value = objRset.Field("ID_(String)")
objExcel.Cells(i, 2).Value = objRset.Field("Услуга")
objExcel.Cells(i, 3).Value = objRset.Field("Группа")
objExcel.Cells(i, 4).Value = objRset.Field("Тип_запроса")
objExcel.Cells(i, 5).Value = objRset.Field("Статус_(Alias)")
objExcel.Cells(i, 6).Value = objRset.Field("Способ_обращения_(полный)")
objExcel.Cells(i, 7).Value = objRset.Field("Инициатор")
objExcel.Cells(i, .FormulaR1C1 = "=COUNTIF(C[-1], RC[-1])>3"
objExcel.Cells(i, 9).Value = objRset.Field("Время_регистрации_(создания)")
objExcel.Cells(i, 10).Value = objRset.Field("Время_принятия_в_работу")
objExcel.Cells(i, 11).Value = objRset.Field("Время_выполнения_(дата)")
objExcel.Cells(i, 12).Value = objRset.Field("Время_закрытия")
objExcel.Cells(i, 13).Value = objRset.Field("Код_выполнения")
objExcel.Cells(i, 14).Value = objRset.Field("Краткое_описание")
objExcel.Cells(i, 15).Value = objRset.Field("Описание")
objExcel.Cells(i, 16).Value = objRset.Field("Решение")
objExcel.Cells(i, 17).Value = objRset.Field("Ответственный")
objExcel.Cells(i, 18).Value = objRset.Field("Комментарии")
objExcel.Cells(i, 19).FormulaR1C1 = "=IF(TODAY()-7>--MID(RC [-1], FIND(CHAR(1), SUBSTITUTE(RC[-1], ""["", CHAR(1), LEN(RC [-1]) -LEN(SUBSTITUTE (RC[-1], ""["", """")))) + 5, 10), ""Comment is not updated"", ""Everything is OK"")"
objRset.MoveNext
Loop
objRset.Close
при правильной формуле может она давать ошибку?
в Эксель данная таблица выводит все правильно,ЕСЛИ(СЕГОДНЯ()-7>--ПСТР(P2;НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(P2;"[";СИМВОЛ(1);ДЛСТР(P2)-ДЛСТР(ПОДСТАВИТЬ(P2;"[";""))))+5;10);"Комментарий не обновлён";"Всё ОК"),
но в VB "=IF(TODAY()-7>--MID(RC [-1], FIND(CHAR(1), SUBSTITUTE(RC[-1], ""["", CHAR(1), LEN(RC [-1]) -LEN(SUBSTITUTE (RC[-1], ""["", """")))) + 5, 10), ""Comment is not updated"", ""Everything is OK"")"
выводит ошибку