powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Возможно ли создать такой пользовательский формат?
24 сообщений из 24, страница 1 из 1
Возможно ли создать такой пользовательский формат?
    #36631198
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.
Возникла следующая проблема. В ячейке есть некоторый текст, и нужно создать некоторые свои форматы, при выборе которых по определенным правилам изменялось бы отображаемое в ячейке значение. Но само значение Cells(i,j).Value от этого бы не менялось, как бы мы там не переставляли форматы. Это главное.
Теперь о формате.
Текст имеет вид [min,max], где min, max - числа.
Например, [100,110]
Нужно иметь возможность:
- отображать это в виде min,max: 100,110
- менять разрядность произвольным образом: [100.0,110.0]
- делать процентный и экспоненциальный формат [10000%,11000%]
- и др. функции типа разделителей в виде пробелов [1 000, 2 000].
Также нужно, чтобы можно было представлять такой текст в виде одного числа, которое можно как-то вычислить - напр., среднее арифметическое, при выполнении какого-то условия - напр., если разница между числами не превышает к.-либо значения.
Итак, возможна такая вещь в Экселе (2007 или 2010) или нет? Если да, как ее сделать?
Спасибо
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36631381
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. В Excel стандартными способами нет возможности создать такой формат.
2. Если нужно применить в конкретных ячейках можно написать через формулу, если в любых местах, то с помощью VBA конкретнее с помощью event
Код: plaintext
1.
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
можно реализовать что угодно.
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36632156
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увы, тогда нужное нам исходное значение потеряется. При применении же формата оно остаётся
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36632169
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходное значение можно либо запихивать в комментарий, либо написать так, чтобы эти значения записывались в другую книгу / листы. Если лист один, то можно сделать скрытый лист и туда перекидывать значения
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36632930
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, такие варианты мне не подходят. Комментарий может уже использоваться, а листов у меня и так может быть много
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36633182
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorwayНет, такие варианты мне не подходят. Комментарий может уже использоваться, а листов у меня и так может быть много
Другой WorkBook может помочь, запихивайте в те же листы в ту же ячейку вводимые значения, либо в базу access можно скидывать.
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36637923
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а допустим, что мы будем генерировать форматы для каждой ячейки, и там будет свой текст для каждой ячейки. Как вам этот способ? Например, формат такой: ;;;"[11,22]". А у другой - ;;;"[16,34]". Или это слишком проблемно будет?
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638014
ak787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorwayУвы, тогда нужное нам исходное значение потеряется. При применении же формата оно остаётся

у вас будет известен формат в котором находится текущая ячейка (т.е. значение), то при изменении в какой либо другой формат должна быть функция которая меняет это значение для соотвествущего формата... например формат (наобум пишу) %% - значение 100%, меняем формат на %e - срабатывает функция - получаем значение 110%, меняем формат назад на %% - срабатывает функция - получаем 100%
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638067
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ak787,
да, по идее, это должно быть примерно так. Но вот менять лучше не значение, а свойство .Text. Поэтому я предлагаю генерировать формат на лету. Тогда значение будет оставаться, а отображаемый текст мы можем генерировать.
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638129
ak787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorwayak787,
да, по идее, это должно быть примерно так. Но вот менять лучше не значение, а свойство .Text. Поэтому я предлагаю генерировать формат на лету. Тогда значение будет оставаться, а отображаемый текст мы можем генерировать.
все это справедливо если у тебя значение ячейки число, а для текста как?
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638130
ak787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ak787,

не заметил предыдущий пример ";;;"[11,22]"", круто однако, возьму метод на заметку
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638131
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все-таки более правильно, по-моему, просто "[11,22]", т.к. ;;;"[11,22]" у меня выдает пустую ячейку.
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638132
ak787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorway,
метод хороший, но пользовательских форматов можно добавить чуть больше 200, т.е. можно хранить отображение всего для 200 ячеек
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638133
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даже в 2010? Надо проверить. Это же ужас. Что мне тогда делать?
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638134
ak787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorway,

ну не знаю насчет 2010, сейчас проверил для 2007, и 2003 добавилось 206
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638139
ak787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorway,

а зачем тебе делать пользовательские форматы? ты хотел, чтбы пользователь выбирал их в стандартном диалоге "Формат ячейки"?
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36638148
ak787
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
motorway,

как я предлагал выше можно менять значение, а потом возвращать назад.. все это довольно сложно, но как вариант все равно решил предложить
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36639882
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще да, я хотел, чтобы можно было выбирать из аналогов обычных форматов такие же, но применимые к таким интервальным данным типа [min,max]. Но так как такие общие форматы нельзя создать, только на лету генерировать, то я хотел, чтобы они хотя бы программно присваивались ячейкам
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36640508
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал изучать члены класса (или интерфейса, как там правильнее) Range. Пришла мысль, может, использовать как-то для ячейки свойство ID? Туда можно что-нибудь запихивать, например, как раз свойство Value, которое может меняться из-за смены форматов
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36640570
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36642080
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А проблему с "пропажей" ID при закрытии книги нельзя ли решать сохранением всех ID в файл по Workbook_Close и загрузкой их при Workbook_Open?
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36642166
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал насчет Validation.InputMessage и др. - что-то не получается их добавить. Пока что ID как-то более привлекательно выглядит, но оно не сохраняется
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36642453
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заметил еще неприятную особенность у ID - добавляю свойство для 20000 тысяч ячеек - делается за 2 секунды. Потом еще несколько раз так. Потом вдруг начинает это делаться за 20 секунд примерно или больше. Непонятно, в чем дело, может, влияет наличие комментария или чего-то еще?...
И должно ли влиять, какой вид таблица имеет - 10 столбцов и 2000 строк, или 40 столбцов и 500 строк?
...
Рейтинг: 0 / 0
Возможно ли создать такой пользовательский формат?
    #36642463
motorway
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это же просто какая-то ерунда! - если открыть Эксел сначала и сделать добавление ID для 20000 ячеек, делается за 1-2 секунды. Потом опять выполняю макрос - теперь уже 19 секунд. Даже в пустой книге. Хотя до этого пробовал выполнять по несколько раз - делалось за 1-2 секунды.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Возможно ли создать такой пользовательский формат?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]