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
случайный цвет для значений в ячееках
У меня в столбце А есть некие текстовые значения. Их количество иногда меняется. При этом все пустые ячейки между текстовыми значениями, а также последняя пустая ячейка тоже имеют значение.
Можно как-то через VBA сделать так, чтобы в этом же столбце или в любом соседнем все имеющиеся значения (включая пустые между текстовыми и последняя пустая ячейка) закрашивались в случайные цвета.
При этом цвета берутся из третьего столбца.
Файлик приложил.
Может намекнете как это организовать или поможете?
Благодарю Вас, корифеи программирования!
Я файлик приложил. Огромное приогромное СПАСИБО!!!!!
Microsoft Excel 2000 и старше
Код:
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
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
End With
или
Код:
With Лист1
With .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)(2))
End With
End With
With .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)(2))
End With
End With
и т.д. и т.п.