|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.04.2011, 10:27 | #1 |
Пользователь
Регистрация: 24.01.2011
Сообщений: 41
|
автоформатирование
ДОбрые день.
Где-то читал, но нигде не могу найти.. Вообщем надо чтоб при вводе определенного значения в ячейку, она автоформатировалась в нужный мне формат. Например пишем в ячейку "555", нажимаем энтер, а оно форматируется в "кв. 555" Как это реализовать? |
29.04.2011, 10:53 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Пользовательский формат.
формат ячеек последний пункт "все форматы" в поле "Тип:" впишите "кв. "#
webmoney: E265281470651 Z422237915069 R418926282008
|
29.04.2011, 12:18 | #3 |
Пользователь
Регистрация: 24.01.2011
Сообщений: 41
|
Отлично!
Большое спасибо! А как-то можно сделать логическое форматирование? Ну например, если вводишь число, начинающееся на "5" то форматируется как "Кв - 5**", а если начинается, допустим, с "7" - то "акт №7**" |
29.04.2011, 12:25 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Сомневаюсь, что пользовательский форматом или вообще форматом можно сделать.
Макросом можно - по событию изменения диапазона анализируем изменённое значение и соответственно дописываем впереди префикс или может быть можно поменять этой ячеейке пользовательский формат, чтоб само значение не менялось.
webmoney: E265281470651 Z422237915069 R418926282008
|
29.04.2011, 13:16 | #5 |
Пользователь
Регистрация: 24.01.2011
Сообщений: 41
|
Да уж, к сожалению в макросах я ноль.
Вот нашел похожий макрос. http://www.planetaexcel.ru/forum.php?thread_id=26561 Может подскажите как его переделать под мой пример? Заранее благодарен!! |
29.04.2011, 13:20 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Нет, это не то.
Скорее такой код можно переделать: Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 29.04.2011 в 16:30. |
29.04.2011, 14:39 | #7 |
Пользователь
Регистрация: 24.01.2011
Сообщений: 41
|
Так, во что-то въезжаю, но все же необходима помощь.
Цель такая, вводятся два формата чисел. Необходимо, чтоб все, которые начинаются на "26" оставались без изменения, остальные - перед числом ставились символы "ПЗ - ". Заранее простите за КАПС. Цветом не выделяется. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count > 1 Then Exit Sub ЧТО ДЕЛАЕТ ЭТА СТРОКА? If Intersect(Target, Range("E5:E100")) КАК Я ПОНЯЛ, ЭТО ДИАПАЗОН, В КОТОРОМ ОТСЛЕЖИВАЮТСЯ ЗНАЧЕНИЯ Is Nothing Then Exit Sub ЕСЛИ НЕТ ДАННЫХ, ЗНАЧИТ ЗАКОНЧИТЬ МАКРОС? Application.EnableEvents = False ЧТО ДЕЛАЕТ ЭТА СТРОКА? With Target.Offset(, 1) ЧТО ДЕЛАЕТ ЭТА СТРОКА? .NumberFormat = "m/d/yyyy" КАК Я ПОНЯЛ, ЭТО ЗАДАЕТСЯ ФОРМАТ ЯЧЕЙКИ. В МОЕМ СЛУЧАЕ БУДЕТ "ПЗ - "# .Value = Date ЭТО ЗНАЧЕНИЕ ФОРМАТА? КАКОЕ В МОЕМ СЛУЧАЕ? .EntireColumn.AutoFit ЭТО НАВЕРНО ЧТО-ТО ВЫРАВНИВАЕТ.. End With Application.EnableEvents = True ЧТО ДЕЛАЕТ ЭТА СТРОКА? End Sub |
29.04.2011, 15:10 | #8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Application.EnableEvents = False - отключение обработки событий - оставить!
With Target.Offset(, 1) - сдвиг вправо - не нужно! .Value = Date - заносит значение - можно использовать NumberFormat - нужно заменить на customFormat что-ли, запишите синтаксис рекордером и посмотрите. Нет - записал, получилось Код:
Извините, убегаю..
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 29.04.2011 в 16:29. |