Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2016, 12:50   #1
juravl
Новичок
Джуниор
 
Регистрация: 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" тоже не канает.
juravl вне форума Ответить с цитированием
Старый 15.02.2016, 16:24   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

возможно в слове "сумм" с не кириллица ЭС, а латинская СИ
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.02.2016, 18:00   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

кросс http://www.planetaexcel.ru/forum/ind...leniya-formuly
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
По умолчанию

Цитата:
Сообщение от из правил Планеты
4. Не рекомендуется
4.1. Создавать одинаковые темы или сообщения в разных форумах (cross-posting). Публикуя один и тот же вопрос в разных форумах и на дружественных сайтах вы заставляете сразу нескольких людей параллельно думать над вашей задачей и обесцениваете усилия тех, кто даст ответ вторым-третьим и т.д.
Вы не согласны?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 15.02.2016, 21:04   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В этом что-то есть, но здесь не планета Excel и в правилах нашего форума нет такого пункта
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.02.2016, 21:39   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
вы заставляете сразу нескольких людей параллельно думать
если люди, которых сколько не заставляй - заставить думать не возможно!!!
а есть люди, которые и так думают постоянно их и заставлять не нужно)))

мысли - это неисчерпаемый ресурс!
когда мы продуцируем мысли - наш мозг не становится от этого беднее, скорее наоборот, и уж точно богаче становятся люди, которым эта мысль пригодилась.
пониманете:
если у вас есть яблоко и у меня есть яблоко - обменявшись яблоками, у нас останется по одному у каждого.
а если у вас есть идея и у меня, то обменявшись идеями у каждого их станет по 2 шт.


думайте параллельно, перпендикулярно, главное - не останавливайтесь!

извините, зафлудил слегда (это все из-за мыслей)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 15.02.2016 в 21:43.
IgorGO вне форума Ответить с цитированием
Старый 16.02.2016, 02:35   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Офф
Алексей(Казанский) всего лишь сообщает участникам темы о кроссе(что надо бы сделать топикстартеру). Есть у кого желание делать уже кем-то сделанную работу - ради Бога. Однако не у всех оно есть. Я вот тоже активно не люблю кросспостеров и считаю необъявленные кроссы неуважением к чужому труду.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры 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