Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

23 Июль 2018, 09:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Разрядность в ячейке по условию  (Прочитано 4331 раз)
0 Пользователей и 1 Гость смотрят эту тему.
andreya81
Постоялец
***
Offline Offline

Сообщений: 104


« Стартовое сообщение: 25 Сентябрь 2013, 14:22 »

День добрый господа форумчане! Вот такой вот вопрос: Возможно ли с помощью функций Сalc установить разрядность (количество нулей после запятой) в ячейке по условию указанному в другой ячейке. Ну например в ячейке В2 указываются единицы измерения материалов (кг. гр. шт. и т.д), а в ячейке С2 автоматически проставляется разрядность будущих значение, т.е для кг. - 0,000; для шт. - 0 и т.д  Непонимающий Помогите кто чем может, добрым ли советом или примером. Заранее благодарен.
Записан
Hasim
Ветеран
*****
Offline Offline

Сообщений: 754


Woe from wit


« Ответ #1: 25 Сентябрь 2013, 16:03 »

Макросом установить нужный формат ячейки.
Но при этом нужно этот макрос запускать по событию листа, т.е. при записи в соседнюю ячейку или кг. или шт.
Записан
andreya81
Постоялец
***
Offline Offline

Сообщений: 104


« Ответ #2: 26 Сентябрь 2013, 10:15 »

А с примером такого макроса не поможете? В замешательстве
Записан
andreya81
Постоялец
***
Offline Offline

Сообщений: 104


« Ответ #3: 26 Сентябрь 2013, 14:02 »

Ну пожалуйста друзья помогите очень надо В замешательстве
Записан
Hasim
Ветеран
*****
Offline Offline

Сообщений: 754


Woe from wit


« Ответ #4: 26 Сентябрь 2013, 17:48 »

Взят отсюда http://forumooo.ru/index.php/topic,3560.msg21746.html#msg21746 файл, приложенный JohnSUN'ом Обработка события Изменение листа.ods.
Внесены изменения по установке формата ячеек в столбце С в зависимости от значений в столбце В так, как вы хотели.
Попробуйте внимательно разобраться.
Значения формата ячеек (3, 109) можно получить при записи макроса по формату ячеек.

[вложение удалено Администратором]
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 504


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #5: 26 Сентябрь 2013, 22:12 »

Извините, по ряду причин припозднился к началу разговора...
Хорошее решение, Hasim (не хватало, чтобы я критиковал собственный макрос  Смеющийся !)
Вот только у меня почему-то при выборе "кг." значение форматируется в деньгах - "123,00 руб.". С чего бы это?


Давайте вернемся к самому началу, к вопросу темы... Нужно задать формат значения в ячейке по условию?
Не знаю у кого как, а у меня сразу возникла устойчивая ассоциация с термином "условное форматирование"...
Одна из тех фишек, которые появились в свободных офисах, раньше, чем в... э-э-э... ну, раньше, чем в том офисе, с которым постоянно сравнивают.  Кстати, я не в курсе, появилась ли она уже там... Я про функцию STYLE()

Гляньте такой вариант решения, может быть понравится...

[вложение удалено Администратором]
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Hasim
Ветеран
*****
Offline Offline

Сообщений: 754


Woe from wit


« Ответ #6: 26 Сентябрь 2013, 23:06 »

Вот только у меня почему-то при выборе "кг." значение форматируется в деньгах - "123,00 руб.". С чего бы это?
А если не 109, а 112?
Боюсь, что это теперь зависит от версии офиса.
Записан
Hasim
Ветеран
*****
Offline Offline

Сообщений: 754


Woe from wit


« Ответ #7: 26 Сентябрь 2013, 23:15 »

Можно и стили (может быть это и лучше), но я предпочитаю макросы - они проще и нагляднее.
Но нужно, наверное, все-таки дать пояснения, как создать эти стили и как их использовать.
Для новичков это совсем не очевидно.

[вложение удалено Администратором]
« Последнее редактирование: 26 Сентябрь 2013, 23:26 от Hasim » Записан
andreya81
Постоялец
***
Offline Offline

Сообщений: 104


« Ответ #8: 27 Сентябрь 2013, 07:30 »

А если не 109, а 112?
В LibreOffice Версия 4.0.5.2 получается просто 123
Записан
andreya81
Постоялец
***
Offline Offline

Сообщений: 104


« Ответ #9: 27 Сентябрь 2013, 07:31 »

Значения формата ячеек (3, 109) можно получить при записи макроса по формату ячеек.
Объясните несообразительному как это сделать
Записан
andreya81
Постоялец
***
Offline Offline

Сообщений: 104


« Ответ #10: 27 Сентябрь 2013, 07:34 »

Гляньте такой вариант решения, может быть понравится...
Вариант неплохой но обязательно ли использование списка выбора, т.к у меня единица измерения устанавливается с помощью диалога и не совсем понятно как сделать так чтобы форматирование происходило именно в соседней ячейке и можно ли это сделать через одну.
Записан
andreya81
Постоялец
***
Offline Offline

Сообщений: 104


« Ответ #11: 27 Сентябрь 2013, 07:41 »

И еще один вопрос Улыбка а можно ли это дело провернуть в диалоге? Если например в ListBox1 выбирается единица измерения, в Numeric1 указывается количество в формате целого (просто 100) в Numeric2 указывается коэффициент в формате 0.981, а в Numeric3 происходит вычисление 100*0,981 = а тут уже согласно значения указанного ListBox1 или 0.000 или 0 или 0.00 В замешательстве
« Последнее редактирование: 27 Сентябрь 2013, 07:51 от andreya81 » Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 504


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #12: 27 Сентябрь 2013, 11:04 »

А если не 109, а 112?
Боюсь, что это теперь зависит от версии офиса.
Насколько я понял это описание, зависит от локали и от состава документа.
Насколько неправильно я перевёл этот абзац?
Цитата:
Number formats are defined on the document level. A document displaying formatted values has a collection of number formats, each with a unique index key within that document. Identical formats are not necessarily represented by the same index key in different documents.
Цитата:
Числовые форматы определены на уровне документа. Документ, который должен отображать форматированные значения, содержит набор числовых форматов, каждый из которых имеет уникальный числовой код (индекс) в этом документе. Идентичные форматы не обязательно будут иметь тот же индекс в разных документах.

Вариант неплохой...
Мне тоже так показалось  Смеющийся
...но обязательно ли использование списка выбора, т.к у меня единица измерения устанавливается с помощью диалога
Нет, не обязательно. Главное, чтобы название единицы измерения, вписанное в ячейку, точно соответствовало имени стиля, который нужно применить к числу.
и не совсем понятно как сделать так чтобы форматирование происходило именно в соседней ячейке и можно ли это сделать через одну.
Можно применить к любой ячейке. Поищи на форуме темы, связанные с условным форматированием - о нём писали много раз и разными словами.
И еще один вопрос Улыбка а можно ли это дело провернуть в диалоге? Если например в ListBox1 выбирается единица измерения, в Numeric1 указывается количество в формате целого (просто 100) в Numeric2 указывается коэффициент в формате 0.981, а в Numeric3 происходит вычисление 100*0,981 = а тут уже согласно значения указанного ListBox1 или 0.000 или 0 или 0.00 В замешательстве
А это совсем-совсем другая задача (форматирование значений в элементах диалога), которая к первоначальной теме (форматирование значений в ячейках таблицы по условию) не относится. Помнишь правило форума? Новый вопрос - новая тема... (Но по секрету скажу - запрограммировать можно всё, что угодно)
« Последнее редактирование: 27 Сентябрь 2013, 11:13 от JohnSUN » Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
andreya81
Постоялец
***
Offline Offline

Сообщений: 104


« Ответ #13: 27 Сентябрь 2013, 11:45 »

Сорри опять наткнулся на те же грабли Улыбка
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!