![]() |
|
Модераторы: mihanik |
![]()
|
|
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Привет.
Возникла следующая проблема. В ячейке есть некоторый текст, и нужно создать некоторые свои форматы, при выборе которых по определенным правилам изменялось бы отображаемое в ячейке значение. Но само значение Cells(i,j).Value от этого бы не менялось, как бы мы там не переставляли форматы. Это главное. Теперь о формате. Текст имеет вид [min,max], где min, max - числа. Например, [100,110] Нужно иметь возможность: - отображать это в виде min,max: 100,110 - менять разрядность произвольным образом: [100.0,110.0] - делать процентный и экспоненциальный формат [10000%,11000%] - и др. функции типа разделителей в виде пробелов [1 000, 2 000]. Также нужно, чтобы можно было представлять такой текст в виде одного числа, которое можно как-то вычислить - напр., среднее арифметическое, при выполнении какого-то условия - напр., если разница между числами не превышает к.-либо значения. Короче, мы просто выбираем формат, аналогичный всем уже присутствующим в Экселе, и строка меняется так, как если бы этот формат применился к обоим числам, и получилась бы новая строка [minNEW,maxNEW]. Итак, возможна такая вещь в Экселе (2007 или 2010) или нет? Если да, как ее сделать? Спасибо -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Существующие типы шаблонов оперируют только знакоместами и заполнителями (ну ещё округление), вычислениями там и не пахнет... даже штатной функции FORMAT() описанное не под силу.
ИМХО невозможно. Созданием именно формата. Без изменения Cell.Value. Но ВООБЩе это (наполовину) возможно. Написанием макроса, который по событию на книге или листе переберёт имеющиеся ячейки, по какому-либо признаку в поле формата ячейки определит те, которые следует подвергнуть этому "хитрому" форматированию, и программно их переформатировать. При этом, несомненно, Value будет изменено. Я уж не говорю о том, что по смыслу такая функция должна быть либо обработчиком, либо Volatile, что гарантирует изрядные тормоза на более-менее приличных массивах данных. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
Да уж, очень жаль. А допустим, заказчику такая вещь очень нужна, и из-за этого может все сорваться. Что тут можно придумать?
-------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Задача на самом деле несложная, если её решать не форматированием, а макросом.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| motorway |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 578 Регистрация: 2.3.2008 Репутация: нет Всего: 0 |
А что вы думаете насчет генерации формата "на лету"? Есть возможность делать искусственный формат вида ;;;"[minNEW,maxNEW]". Стоит так делать?
Минусы в том, что это будет у каждой ячейки новый формат, а не один общий. -------------------- Russian Pascal Developer Network - Сеть разработчиков на языке программирования Pascal/Object Pascal Форум Delphi/Kylix, Free Pascal Compiler/Lazarus, PascalABC.NET Онлайн-кинотеатр |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |