Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перекрасить цифры между скобок в зависимости от значения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перекрасить цифры между скобок в зависимости от значения (Макросы)
Перекрасить цифры между скобок в зависимости от значения
Zerofox Дата: Среда, 19.03.2014, 10:16 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Доброго времени суток!
У меня есть набор предметов в 1 столбце и соответствующая им цена во 2 столбце. Примерно каждую неделю эти цены меняются и необходимо в отдельном столбце по каждому предмету прописывать разницу этих цен в виде "текущая цена (разница цен)" и выделять именно эту разницу зеленым или красным цветом в зависимости подросла цена или упала.

Искал где только можно как это сделать, видел похожую тему на этом же форуме, только там немного другая задача стояла, но принцип отчасти схож (http://www.excelworld.ru/forum/2-4781-1), только не разобрался как под свою задачу переделать те наработки...
К сообщению приложен файл: _Microsoft_Offi.xls (24.0 Kb)


я не волшебник, я только учусь....учусь....учусь...

Сообщение отредактировал Zerofox - Среда, 19.03.2014, 10:18
 
Ответить
СообщениеДоброго времени суток!
У меня есть набор предметов в 1 столбце и соответствующая им цена во 2 столбце. Примерно каждую неделю эти цены меняются и необходимо в отдельном столбце по каждому предмету прописывать разницу этих цен в виде "текущая цена (разница цен)" и выделять именно эту разницу зеленым или красным цветом в зависимости подросла цена или упала.

Искал где только можно как это сделать, видел похожую тему на этом же форуме, только там немного другая задача стояла, но принцип отчасти схож (http://www.excelworld.ru/forum/2-4781-1), только не разобрался как под свою задачу переделать те наработки...

Автор - Zerofox
Дата добавления - 19.03.2014 в 10:16
PsevDANIm Дата: Среда, 19.03.2014, 10:53 | Сообщение № 2
Группа: Гости
Попробую помочь. Вариант предлагаю самый простой.
1. Разделить столбец "итого" на два столбца.
2. Использовать условное форматирование, по правилам "если нашёл от -1000 до -1 крась в красный, если нашёл 1 до 1000 крась в зелёный"
3. Нужно будет создать, как минмиум, два правила.
4. Для правильного визуального восприятия столбец "итого" разделить на две части без окрашивания границы между "результатом" и "разницей".
 
Ответить
СообщениеПопробую помочь. Вариант предлагаю самый простой.
1. Разделить столбец "итого" на два столбца.
2. Использовать условное форматирование, по правилам "если нашёл от -1000 до -1 крась в красный, если нашёл 1 до 1000 крась в зелёный"
3. Нужно будет создать, как минмиум, два правила.
4. Для правильного визуального восприятия столбец "итого" разделить на две части без окрашивания границы между "результатом" и "разницей".

Автор - PsevDANIm
Дата добавления - 19.03.2014 в 10:53
Hugo Дата: Среда, 19.03.2014, 11:40 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Вынести в отдельный столбец, ему пользовательский формат
[Green](+0);[Red](-0)


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеВынести в отдельный столбец, ему пользовательский формат
[Green](+0);[Red](-0)

Автор - Hugo
Дата добавления - 19.03.2014 в 11:40
Zerofox Дата: Среда, 19.03.2014, 12:30 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
1. Разделить столбец "итого" на два столбца.


Вынести в отдельный столбец, ему пользовательский формат
[Green](+0);[Red](-0)


Да, я тоже об этом думал, но нужен именно один столбец, чтобы результат находился в одной ячейке в этом-то и вся головная боль...Выглядеть данные в столбце "итог" должны как в документе, к примеру 12 (+5) или 20 (-1) и красить надо только цифры +5 и -1 без скобочек...


я не волшебник, я только учусь....учусь....учусь...

Сообщение отредактировал Zerofox - Среда, 19.03.2014, 12:30
 
Ответить
Сообщение
1. Разделить столбец "итого" на два столбца.


Вынести в отдельный столбец, ему пользовательский формат
[Green](+0);[Red](-0)


Да, я тоже об этом думал, но нужен именно один столбец, чтобы результат находился в одной ячейке в этом-то и вся головная боль...Выглядеть данные в столбце "итог" должны как в документе, к примеру 12 (+5) или 20 (-1) и красить надо только цифры +5 и -1 без скобочек...

Автор - Zerofox
Дата добавления - 19.03.2014 в 12:30
Hugo Дата: Среда, 19.03.2014, 12:39 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Тогда только макросом - тут рядом тема:
http://www.excelworld.ru/forum/10-9627-1


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеТогда только макросом - тут рядом тема:
http://www.excelworld.ru/forum/10-9627-1

Автор - Hugo
Дата добавления - 19.03.2014 в 12:39
Zerofox Дата: Среда, 19.03.2014, 12:50 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Спасибо большое за помощь, сейчас посмотрю что там


я не волшебник, я только учусь....учусь....учусь...
 
Ответить
СообщениеСпасибо большое за помощь, сейчас посмотрю что там

Автор - Zerofox
Дата добавления - 19.03.2014 в 12:50
Zerofox Дата: Среда, 19.03.2014, 14:08 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Вобщем, в силу того, что в вба я практически полный 0, то не смог разобраться что к чему...Может быть кто-то сможет подсказать как написать макрос для моей задачки?

(прошу модераторов перенести тему в раздел макросов вба)


я не волшебник, я только учусь....учусь....учусь...

Сообщение отредактировал Zerofox - Среда, 19.03.2014, 15:15
 
Ответить
СообщениеВобщем, в силу того, что в вба я практически полный 0, то не смог разобраться что к чему...Может быть кто-то сможет подсказать как написать макрос для моей задачки?

(прошу модераторов перенести тему в раздел макросов вба)

Автор - Zerofox
Дата добавления - 19.03.2014 в 14:08
Zerofox Дата: Вторник, 25.03.2014, 08:00 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
так никто и не помог, жаль((


я не волшебник, я только учусь....учусь....учусь...
 
Ответить
Сообщениетак никто и не помог, жаль((

Автор - Zerofox
Дата добавления - 25.03.2014 в 08:00
nilem Дата: Вторник, 25.03.2014, 08:51 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Попробуйте:
[vba]
Код
Sub ertert()
Dim r As Range, i&, j&: Application.ScreenUpdating = False
For Each r In Range("E2:E" & Cells(Rows.Count, 3).End(xlUp).Row + 1)
     r.Value = r(1, -1) & IIf(r(1, 0) = 0, "", " (" & IIf(r(1, 0) > 0, "+", "") & r(1, 0) & ")")
     i = InStr(r.Value, "("): j = InStr(r.Value, ")")
     If i > 0 Then r.Characters(i + 1, j - i - 1).Font.Color = IIf(InStr(r, "+"), vbGreen, vbRed)
Next r
Application.ScreenUpdating = True
End Sub
[/vba]
полезн. приемчик с Characters все-таки пригодился :)
К сообщению приложен файл: _Microsoft_Offi.xls (40.0 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеПопробуйте:
[vba]
Код
Sub ertert()
Dim r As Range, i&, j&: Application.ScreenUpdating = False
For Each r In Range("E2:E" & Cells(Rows.Count, 3).End(xlUp).Row + 1)
     r.Value = r(1, -1) & IIf(r(1, 0) = 0, "", " (" & IIf(r(1, 0) > 0, "+", "") & r(1, 0) & ")")
     i = InStr(r.Value, "("): j = InStr(r.Value, ")")
     If i > 0 Then r.Characters(i + 1, j - i - 1).Font.Color = IIf(InStr(r, "+"), vbGreen, vbRed)
Next r
Application.ScreenUpdating = True
End Sub
[/vba]
полезн. приемчик с Characters все-таки пригодился :)

Автор - nilem
Дата добавления - 25.03.2014 в 08:51
Zerofox Дата: Среда, 26.03.2014, 08:43 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
nilem, огроменное спасибо - то, что нужно. Лови +.

Есть еще небольшой вопрос - зеленый цвет режет глаза немного, есть ли возможность его немного темнее сделать?
Хотя это не принципиально, но было бы неплохо


я не волшебник, я только учусь....учусь....учусь...
 
Ответить
Сообщениеnilem, огроменное спасибо - то, что нужно. Лови +.

Есть еще небольшой вопрос - зеленый цвет режет глаза немного, есть ли возможность его немного темнее сделать?
Хотя это не принципиально, но было бы неплохо

Автор - Zerofox
Дата добавления - 26.03.2014 в 08:43
nilem Дата: Среда, 26.03.2014, 08:52 | Сообщение № 11
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
тогда перепишем вот эту строчку:
[vba]
Код
If i > 0 Then r.Characters(i + 1, j - i - 1).Font.ColorIndex = IIf(InStr(r, "+"), 10, 3)
[/vba]
и выбирайте цвет, какой нравится
ColorIndex зеленый - 4, 10, 43, 14
ColorIndex красный - 3, 46, 30


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениетогда перепишем вот эту строчку:
[vba]
Код
If i > 0 Then r.Characters(i + 1, j - i - 1).Font.ColorIndex = IIf(InStr(r, "+"), 10, 3)
[/vba]
и выбирайте цвет, какой нравится
ColorIndex зеленый - 4, 10, 43, 14
ColorIndex красный - 3, 46, 30

Автор - nilem
Дата добавления - 26.03.2014 в 08:52
Zerofox Дата: Среда, 26.03.2014, 09:09 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
nilem, спасибо, я еще пробовал сам разобраться и методом тыка нашел еще такой вариант - вместо vbgreen прописал rgb (0,150,0), сработало! =))
но ваш вариант сейчас тоже изучу, просто знаком крайне поверхностно с операторами vb. Спасибо еще раз за помощь, жаль, 2 раз уже + не дают поставить)


я не волшебник, я только учусь....учусь....учусь...
 
Ответить
Сообщениеnilem, спасибо, я еще пробовал сам разобраться и методом тыка нашел еще такой вариант - вместо vbgreen прописал rgb (0,150,0), сработало! =))
но ваш вариант сейчас тоже изучу, просто знаком крайне поверхностно с операторами vb. Спасибо еще раз за помощь, жаль, 2 раз уже + не дают поставить)

Автор - Zerofox
Дата добавления - 26.03.2014 в 09:09
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перекрасить цифры между скобок в зависимости от значения (Макросы)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!