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

Вход

Регистрация

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

 

= Мир MS Excel/Заливка Ячеек в диапазоне своими цветами - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка Ячеек в диапазоне своими цветами (Макросы/Sub)
Заливка Ячеек в диапазоне своими цветами
rever27 Дата: Среда, 05.08.2015, 10:56 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
[vba]
Код
Sub фыв()
iRGB = RGB(10, 160, 120)
     For i = 1 To 20
         Cells(3 + i, 16).Interior.Color = iRGB
         iRGB = iRGB + RGB(55, 50, 25)
     Next
End Sub
[/vba]

Данным макросом я циклом перебираю ячейки(цикл мне нужен, т.к. это пример) и заливаю их цветом, после чего, изменяется цвет, и новая строка идет уже другим цветом.
Мне же нужно сделать так, чтобы каждая новая строчка заливалась именно моим цветом. Т.е. Как то через Array(vbRed,vbBlue..... )
Не могу додумать, как это сделать внутри цикла, и чтобы все 20 строк попеременно не заливались одним и тем же цветом
 
Ответить
Сообщение[vba]
Код
Sub фыв()
iRGB = RGB(10, 160, 120)
     For i = 1 To 20
         Cells(3 + i, 16).Interior.Color = iRGB
         iRGB = iRGB + RGB(55, 50, 25)
     Next
End Sub
[/vba]

Данным макросом я циклом перебираю ячейки(цикл мне нужен, т.к. это пример) и заливаю их цветом, после чего, изменяется цвет, и новая строка идет уже другим цветом.
Мне же нужно сделать так, чтобы каждая новая строчка заливалась именно моим цветом. Т.е. Как то через Array(vbRed,vbBlue..... )
Не могу додумать, как это сделать внутри цикла, и чтобы все 20 строк попеременно не заливались одним и тем же цветом

Автор - rever27
Дата добавления - 05.08.2015 в 10:56
KSV Дата: Среда, 05.08.2015, 11:02 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
например, так: [vba]
Код
Sub фыв()
      Dim aColors(1 To 20) As Long
      aColors(1) = RGB(10, 160, 120)
      aColors(2) = RGB(10, 160, 150)
      '...
      aColors(20) = RGB(10, 160, 180)
      For i = 1 To 20
          Cells(3 + i, 16).Interior.Color = aColors(i)
      Next
End Sub
[/vba]

или так: [vba]
Код
Sub фыв()
     Dim i&, aColors()
     aColors = Array(vbRed, vbBlue, vbGreen, vbYellow) ' дополните другими цветами до 20 шт.
     For i = 1 To 20
         Cells(3 + i, 16).Interior.Color = aColors(i)
     Next
End Sub
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333


Сообщение отредактировал KSV - Среда, 05.08.2015, 11:17
 
Ответить
Сообщениенапример, так: [vba]
Код
Sub фыв()
      Dim aColors(1 To 20) As Long
      aColors(1) = RGB(10, 160, 120)
      aColors(2) = RGB(10, 160, 150)
      '...
      aColors(20) = RGB(10, 160, 180)
      For i = 1 To 20
          Cells(3 + i, 16).Interior.Color = aColors(i)
      Next
End Sub
[/vba]

или так: [vba]
Код
Sub фыв()
     Dim i&, aColors()
     aColors = Array(vbRed, vbBlue, vbGreen, vbYellow) ' дополните другими цветами до 20 шт.
     For i = 1 To 20
         Cells(3 + i, 16).Interior.Color = aColors(i)
     Next
End Sub
[/vba]

Автор - KSV
Дата добавления - 05.08.2015 в 11:02
rever27 Дата: Среда, 05.08.2015, 20:00 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Второй вариант. Только отсчет у меня идет со второго значения, так что
[vba]
Код
aColors = Array(, vbRed, vbBlue, vbGreen, vbYellow)
[/vba]

Спасибо respect
 
Ответить
СообщениеВторой вариант. Только отсчет у меня идет со второго значения, так что
[vba]
Код
aColors = Array(, vbRed, vbBlue, vbGreen, vbYellow)
[/vba]

Спасибо respect

Автор - rever27
Дата добавления - 05.08.2015 в 20:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заливка Ячеек в диапазоне своими цветами (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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