Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

случайный цвет для значений в ячееках

32K
25 августа 2008 года
serega575757
16 / / 21.07.2008
Я тут уже спрашивал про случайное заполнение ячеек. Сейчас немножко другая задача у меня.

У меня в столбце А есть некие текстовые значения. Их количество иногда меняется. При этом все пустые ячейки между текстовыми значениями, а также последняя пустая ячейка тоже имеют значение.
Можно как-то через VBA сделать так, чтобы в этом же столбце или в любом соседнем все имеющиеся значения (включая пустые между текстовыми и последняя пустая ячейка) закрашивались в случайные цвета.
При этом цвета берутся из третьего столбца.
Файлик приложил.
Может намекнете как это организовать или поможете?
Благодарю Вас, корифеи программирования!

Я файлик приложил. Огромное приогромное СПАСИБО!!!!!
275
25 августа 2008 года
pashulka
985 / / 19.09.2004
Применительно к Вашему примеру (где в столбце [A:A] наличествуют только текстовые значения) изменение цвета заливки может выглядить следующим образом :

Microsoft Excel 2000 и старше

 
Код:
With Лист1.Range(Лист1.[A2], Лист1.[A65536].End(xlUp)(2))
     Dim iCell As Range
     Randomize  ' Timer
     For Each iCell In .SpecialCells(xlBlanks).Offset(, 1)
         iCell.Interior.Color = Лист3.[A2].Cells(Int((73 * Rnd) + 1)).Interior.Color
     Next
End With


Microsoft Excel 97

 
Код:
With Лист1.Range(Лист1.[A2], Лист1.[A65536].End(xlUp)(2))
     Dim iCell As Range
     Randomize  ' Timer
     For Each iCell In .SpecialCells(xlBlanks)
         iCell.Cells(1, 2).Interior.Color = Лист3.[A2].Cells(Int((73 * Rnd) + 1)).Interior.Color
         'iCell(1, 2).Interior.Color = ...
     Next
End With


Примечание : В случае с Excel 2007 количество строк, заданное константой, можно заменить на .Rows.Count, т.е.

 
Код:
With Лист1.Range(Лист1.Cells(2, 1), Лист1.Cells(Лист1.Rows.Count, 1).End(xlUp)(2))

End With


или

 
Код:
With Лист1
     With .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)(2))

     End With
End With


и т.д. и т.п.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог