|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.02.2016, 12:50 | #1 |
Новичок
Джуниор
Регистрация: 15.02.2016
Сообщений: 1
|
Замена символа "=" на "=" для обновления формулы
Всем привет!
Задача такая: 1С сохраняет таблицу на винт в формате xls. В этой таблице в некоторых клетках указаны формулы одного из двух видов: 1. "=RC[-1]*RC[-4]" (перемножить две колонки, чтобы получить значение третьей) 2. "=СУММ(R[-82]C:R[-1]C)" (поле "итого" в подвале) После сохранения таблицы 1С (ввиду ее ограниченных возможностей) дополнительно открывает получившийся файл через OLE, дорисовывает в его модуль макрос и выполняет этот макрос: Sub RenewEveryFormula() Cells.Replace What:=""="", Replacement:=""="", LookAt:=xlPart, SearchOrder _ :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False End Sub"; Задача макроса - найти и заменить во всём файле символ "=" на "=" (макрос я записал через встроенный механизм икселя, вручную через ctrl+F заменив "=" на "="). До выполнения макроса все клетки с формулами содержали в себе эти формулы в виде текстовых значений (=RC[-1]*RC[-4]). После выполнения макроса иксель хватается за голову и начинает видеть эти формулы именно как формулы. И всё это прекрасно работает и достаточно быстро, здесь проблем нет. Проблемы есть с формулами итогов (=СУММ(R[-82]C:R[-1]C)). Указанный макрос подмены знака равенства не заставляет иксель правильно отреагировать. Вместо этого иксель в этих клетках оставляет ошибку "#ИМЯ?". "Показать этапы вычисления" по этой функции: Похоже, ему что-то не нравится в названии функции "сумм"? Я пробовал запускать тот же макрос вручную в этом документе повторно - нет результата. Пробовал снова через ctrl+F найти и заменить все "=" на "=" - результат корректный, все формулы, включая итоги, сразу определяются. Кто-то сталкивался с такой ситуацией? Почему иксель ругается с ошибкой "#ИМЯ?" ? p.s. то, что "сумм" написано маленькими буквами, не влияет на ситуацию (пробовал и с большими). p.s.s. написать "sum" тоже не канает. |
15.02.2016, 16:24 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
возможно в слове "сумм" с не кириллица ЭС, а латинская СИ
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
15.02.2016, 18:00 | #3 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
15.02.2016, 19:57 | #4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
15.02.2016, 20:57 | #5 | |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Цитата:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
|
15.02.2016, 21:04 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В этом что-то есть, но здесь не планета Excel и в правилах нашего форума нет такого пункта
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
15.02.2016, 21:39 | #7 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Цитата:
а есть люди, которые и так думают постоянно их и заставлять не нужно))) мысли - это неисчерпаемый ресурс! когда мы продуцируем мысли - наш мозг не становится от этого беднее, скорее наоборот, и уж точно богаче становятся люди, которым эта мысль пригодилась. пониманете: если у вас есть яблоко и у меня есть яблоко - обменявшись яблоками, у нас останется по одному у каждого. а если у вас есть идея и у меня, то обменявшись идеями у каждого их станет по 2 шт. думайте параллельно, перпендикулярно, главное - не останавливайтесь! извините, зафлудил слегда (это все из-за мыслей)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 15.02.2016 в 21:43. |
|
16.02.2016, 02:35 | #8 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
Офф
Алексей(Казанский) всего лишь сообщает участникам темы о кроссе(что надо бы сделать топикстартеру). Есть у кого желание делать уже кем-то сделанную работу - ради Бога. Однако не у всех оно есть. Я вот тоже активно не люблю кросспостеров и считаю необъявленные кроссы неуважением к чужому труду.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" | Alexsandrr | Microsoft Office Excel | 4 | 19.10.2013 14:22 |
Ввести строку и после каждого символа "q" ставить "**" | karamzin | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 25.11.2012 02:57 |
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") | funnyy | Помощь студентам | 3 | 17.10.2012 17:40 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |