Макрос для Excel 2017 - VBA

Узнай цену своей работы

Формулировка задачи:

Я еще новичок в программировании vba. Написал код, который берет диапазон ячеек и в зависимости от содержимого ячейки, красит её в нужный цвет.
Листинг программы
  1. Sub Fill_Color(Rg As Range) ' на вход процедуре подается параметр - диапазон ячеек
  2. Dim cel As Range ' рабочая переменная (которая будет пробегать по диапазону)
  3. For Each cel In Rg ' цикл по всем ячейкам диапазона (у ячейки тип - тоже Range)
  4. v = cel.Value ' берем значение очередной ячейки
  5. If IsEmpty(v) Then ' если ячейка пуста -
  6. cel.Interior.Color = QBColor(15) ' заливаем белым (код 0) [url]http://www.excelworld.ru/stuff/vba_function/color/qbcolor/25-1-0-104[/url]
  7. ElseIf v = 0 Then ' если в ячейке число - 0
  8. cel.Interior.Color = QBColor(8) ' заливаем серым (код 8)
  9. ElseIf v = 1 Then ' если в ячейке число - 1
  10. cel.Interior.Color = QBColor(12) ' заливаем красным (код 12)
  11. ElseIf v = 2 Then ' если в ячейке число - 2
  12. cel.Interior.Color = QBColor(14) ' заливаем желтым (код 14)
  13. ElseIf v = 3 Then ' если в ячейке число - 3
  14. cel.Interior.Color = QBColor(10) ' заливаем зеленым (код 10)
  15. Else ' иначе
  16. cel.Interior.Color = QBColor(15) ' заливаем белым (код 15)
  17. End If
  18. Next
  19. End Sub
  20.  
  21. Sub Start()
  22. Fill_Color Range("R2C2:R32C25")
  23. End Sub
Но макрос не запускается, пишет application-defined or object-defined error, не могу понять в чем ошибка.

Решение задачи: «Макрос для Excel 2017»

textual
Листинг программы
  1. Fill_Color Range("B2:Y32")

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут