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

Вход

Регистрация

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

 

= Мир MS Excel/Цветовая гамма и Определение границ заливки заливки. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Цветовая гамма и Определение границ заливки заливки. (Макросы Sub)
Цветовая гамма и Определение границ заливки заливки.
Постовой Дата: Пятница, 20.12.2013, 15:35 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Добрый вечер! Долго боролся но постиг заливку строк цветом, но осталось несколько "НО"
1) Как не "Гуглю" ни как не могу найти коды цветов для Excel 2013. Хочу в скрипте прописать легкие цвета что бы не напрягало глаз работающего, а получаю ... (на примере все увидите) Где же взять наглядно раскладку???
2) Как в скрипте прописать не статичное условие ограниченной заливки строк, а именно от первого заполненного столбца до последнего (Такая необходимость возникает если вдруг количество столбцов будет меняться при фильтровании или переносе и копировании)
Если можно с краткими пояснениями.
К сообщению приложен файл: ____.xlsm (66.7 Kb)
 
Ответить
СообщениеДобрый вечер! Долго боролся но постиг заливку строк цветом, но осталось несколько "НО"
1) Как не "Гуглю" ни как не могу найти коды цветов для Excel 2013. Хочу в скрипте прописать легкие цвета что бы не напрягало глаз работающего, а получаю ... (на примере все увидите) Где же взять наглядно раскладку???
2) Как в скрипте прописать не статичное условие ограниченной заливки строк, а именно от первого заполненного столбца до последнего (Такая необходимость возникает если вдруг количество столбцов будет меняться при фильтровании или переносе и копировании)
Если можно с краткими пояснениями.

Автор - Постовой
Дата добавления - 20.12.2013 в 15:35
SkyPro Дата: Пятница, 20.12.2013, 15:45 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Пользуйте RGB
[vba]
Код
ActiveCell.Interior.Color = RGB(200, 255, 200)
[/vba]
Таблицу RGB можно найти в поисковике.


skypro1111@gmail.com
 
Ответить
СообщениеПользуйте RGB
[vba]
Код
ActiveCell.Interior.Color = RGB(200, 255, 200)
[/vba]
Таблицу RGB можно найти в поисковике.

Автор - SkyPro
Дата добавления - 20.12.2013 в 15:45
Постовой Дата: Пятница, 20.12.2013, 16:09 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
SkyPro, все по палитре вопрос снят, не шло только до переоткрытия файла. СПС :) а со вторым вопросом?


Сообщение отредактировал Постовой - Пятница, 20.12.2013, 16:17
 
Ответить
СообщениеSkyPro, все по палитре вопрос снят, не шло только до переоткрытия файла. СПС :) а со вторым вопросом?

Автор - Постовой
Дата добавления - 20.12.2013 в 16:09
SkyPro Дата: Пятница, 20.12.2013, 16:25 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
dim i&, clr&: clr = 0  
dim lastcolumn&: lastcolumn = cells(1, columns.count).end(xltoleft).column 'Последний заполенный столбец
dim firstcolumn&: firstcolumn = cells(1,1).end(xltoright).column ' Первій заполненный столбец
if lastcolumn = firstcolumn then firstcolumn = 1 ' если первый  = последний, то первый = 1
for i = firstcolumn to lastcolumn ' от первого до последнего
clr = clr + 10 ' счетчиком прибавляем цвета
columns(i).interior.color = rgb(clr ,clr ,clr )    'устанавливаем цвет
next
[/vba]

Думаю смысл понятен?


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Пятница, 20.12.2013, 16:31
 
Ответить
Сообщение[vba]
Код
dim i&, clr&: clr = 0  
dim lastcolumn&: lastcolumn = cells(1, columns.count).end(xltoleft).column 'Последний заполенный столбец
dim firstcolumn&: firstcolumn = cells(1,1).end(xltoright).column ' Первій заполненный столбец
if lastcolumn = firstcolumn then firstcolumn = 1 ' если первый  = последний, то первый = 1
for i = firstcolumn to lastcolumn ' от первого до последнего
clr = clr + 10 ' счетчиком прибавляем цвета
columns(i).interior.color = rgb(clr ,clr ,clr )    'устанавливаем цвет
next
[/vba]

Думаю смысл понятен?

Автор - SkyPro
Дата добавления - 20.12.2013 в 16:25
Постовой Дата: Пятница, 20.12.2013, 16:38 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
SkyPro, Пусть я и признаю свою деревянность но необходимо пояснить.
 
Ответить
СообщениеSkyPro, Пусть я и признаю свою деревянность но необходимо пояснить.

Автор - Постовой
Дата добавления - 20.12.2013 в 16:38
Постовой Дата: Пятница, 20.12.2013, 16:41 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
clr = clr + 10 ' счетчиком прибавляем цвета
columns(i).interior.color = rgb(clr ,clr ,clr )    'устанавливаем цвет

Так это получается он раскладывает цвета по столбцам, а мне то необходимо что бы мои закрашенные строки имели начало и конец.
 
Ответить
Сообщение
clr = clr + 10 ' счетчиком прибавляем цвета
columns(i).interior.color = rgb(clr ,clr ,clr )    'устанавливаем цвет

Так это получается он раскладывает цвета по столбцам, а мне то необходимо что бы мои закрашенные строки имели начало и конец.

Автор - Постовой
Дата добавления - 20.12.2013 в 16:41
SkyPro Дата: Пятница, 20.12.2013, 16:46 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Так укажите не столбцы, а [vba]
Код
cells(последняя строка в столбце, i).interior.color = ...
[/vba]
Найти последнюю строку можно по аналогии с столбцами.


skypro1111@gmail.com
 
Ответить
СообщениеТак укажите не столбцы, а [vba]
Код
cells(последняя строка в столбце, i).interior.color = ...
[/vba]
Найти последнюю строку можно по аналогии с столбцами.

Автор - SkyPro
Дата добавления - 20.12.2013 в 16:46
Постовой Дата: Пятница, 20.12.2013, 16:51 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Я ни как не пойму куда это расположить в моем скрипте. Ни чего не получается.
 
Ответить
СообщениеЯ ни как не пойму куда это расположить в моем скрипте. Ни чего не получается.

Автор - Постовой
Дата добавления - 20.12.2013 в 16:51
SkyPro Дата: Пятница, 20.12.2013, 17:16 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Работа с массивом на данном листе'
Dim i&
Dim coloriserange As Range
Dim lastcolumn&: lastcolumn = Cells(2, Columns.Count).End(xlToLeft).Column 'Последний заполенный столбец
Dim firstcolumn&: firstcolumn = Cells(2, 1).End(xlToRight).Column ' Первій заполненный столбец
Dim lastrow&: lastrow = [d65535].End(xlUp).Row ' последняя строка
If lastcolumn = firstcolumn Then firstcolumn = 1 ' если первый  = последний, то первый = 1

For i = 2 To lastrow
Set coloriserange = Range(Cells(i, firstcolumn), Cells(i, lastcolumn))
With coloriserange.Interior
     Select Case Cells(i, firstcolumn + 2).Value
         Case "ПРОМТРАНС"
             .Color = RGB(100, 100, 0)
         Case "WG"
             .Color = RGB(100, 100, 100)
         Case "ИРТЭК"
             .Color = RGB(100, 100, 200)
         Case "БЭК"
             .Color = RGB(100, 200, 200)
     End Select
End With
Next
End Sub
[/vba]


skypro1111@gmail.com
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Работа с массивом на данном листе'
Dim i&
Dim coloriserange As Range
Dim lastcolumn&: lastcolumn = Cells(2, Columns.Count).End(xlToLeft).Column 'Последний заполенный столбец
Dim firstcolumn&: firstcolumn = Cells(2, 1).End(xlToRight).Column ' Первій заполненный столбец
Dim lastrow&: lastrow = [d65535].End(xlUp).Row ' последняя строка
If lastcolumn = firstcolumn Then firstcolumn = 1 ' если первый  = последний, то первый = 1

For i = 2 To lastrow
Set coloriserange = Range(Cells(i, firstcolumn), Cells(i, lastcolumn))
With coloriserange.Interior
     Select Case Cells(i, firstcolumn + 2).Value
         Case "ПРОМТРАНС"
             .Color = RGB(100, 100, 0)
         Case "WG"
             .Color = RGB(100, 100, 100)
         Case "ИРТЭК"
             .Color = RGB(100, 100, 200)
         Case "БЭК"
             .Color = RGB(100, 200, 200)
     End Select
End With
Next
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 20.12.2013 в 17:16
nilem Дата: Пятница, 20.12.2013, 18:52 | Сообщение № 10
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
кстати, можно ColorIndex использовать, довольно много всяких цветов

К сообщению приложен файл: 5860013.jpg (37.2 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениекстати, можно ColorIndex использовать, довольно много всяких цветов


Автор - nilem
Дата добавления - 20.12.2013 в 18:52
SkyPro Дата: Пятница, 20.12.2013, 18:56 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
угу, зато с ргб можно подобрать самый-самый-самый приятный для глаза :)


skypro1111@gmail.com
 
Ответить
Сообщениеугу, зато с ргб можно подобрать самый-самый-самый приятный для глаза :)

Автор - SkyPro
Дата добавления - 20.12.2013 в 18:56
RAN Дата: Пятница, 20.12.2013, 19:03 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Закрасьте ячейки и выполните макрос

[vba]
Код
ActiveCell.Value = Val(ActiveCell.Interior.Color)
[/vba]

И глазу приятно, и RGB гемора нет. :D

PS И какая вам разница, какая кодировка цвета?


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Пятница, 20.12.2013, 19:05
 
Ответить
СообщениеЗакрасьте ячейки и выполните макрос

[vba]
Код
ActiveCell.Value = Val(ActiveCell.Interior.Color)
[/vba]

И глазу приятно, и RGB гемора нет. :D

PS И какая вам разница, какая кодировка цвета?

Автор - RAN
Дата добавления - 20.12.2013 в 19:03
SkyPro Дата: Пятница, 20.12.2013, 19:07 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Мне абсолютно никакой. Я всегда пользовался методом "макрорекордер + закраска ячеек в нужный мне цвет" :)


skypro1111@gmail.com
 
Ответить
СообщениеМне абсолютно никакой. Я всегда пользовался методом "макрорекордер + закраска ячеек в нужный мне цвет" :)

Автор - SkyPro
Дата добавления - 20.12.2013 в 19:07
Постовой Дата: Суббота, 21.12.2013, 06:01 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Всем спасибо ребята. Я надеюсь что эта тема в дальнейшем пригодится не только мне, ведь тут все очень доступно и понятно!
 
Ответить
СообщениеВсем спасибо ребята. Я надеюсь что эта тема в дальнейшем пригодится не только мне, ведь тут все очень доступно и понятно!

Автор - Постовой
Дата добавления - 21.12.2013 в 06:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Цветовая гамма и Определение границ заливки заливки. (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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