В моем файле excel у меня есть таблица с формулами.
с ячейками из диапазона («B2: B12»), диапазона («D2: D12») и т. д. каждая вторая строка, содержащая ответы на эти формулы.
для этих ячеек (с ответами формулы) мне нужно применить условное форматирование, но у меня есть 7 условий, поэтому я использовал «выбрать регистр» в VBA, чтобы изменить их внутренний фон в зависимости от их количества. У меня есть функция выбора регистра, которая в настоящее время настроена в коде листа, а не в собственном макросе.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iColor As Integer
If Not Intersect(Target, Range("B2:L12")) Is Nothing Then
Select Case Target
Case 0
iColor = 2
Case 0.01 To 0.49
iColor = 36
Case 0.5 To 0.99
iColor = 6
Case 1 To 1.99
iColor = 44
Case 2 To 2.49
iColor = 45
Case 2.5 To 2.99
iColor = 46
Case 3 To 5
iColor = 3
End Select
Target.Interior.ColorIndex = iColor
End If
End Sub
но используя этот метод, вы должны фактически вводить значение в ячейку, чтобы форматирование работало.
вот почему я хочу написать подпрограмму, чтобы сделать это как макрос. Я могу ввести свои данные, позволить формулам работать, и когда все будет готово, я могу запустить макрос и отформатировать эти конкретные ячейки.
Мне нужен простой способ сделать это, очевидно, я мог бы потратить кучу времени, печатая все случаи для каждой ячейки, но я решил, что с циклом будет проще.
как мне написать цикл выбора регистра, чтобы изменить форматирование определенного диапазона ячеек в каждой второй строке?
заранее спасибо.