Всем привет!
Есть Столбец A, в котором указаны числа "1" или "2", Есть столбец B, в котором указаны данные.
Необходимо, чтобы макрос шел по столбцу A, увидел число "2" и с этого момента начал
выделение области, но
столбца B, а когда дошел до числа "1", закончил выделение области и применил форматирование.
Есть такое код:
Код |
---|
Option Explicit
Sub FormatCell()
Dim ColN As Integer, LastRow As Long, i As Long, Form As Long
ColN = InputBox("Укажите номер столбца для поиска диапазона", "Системное сообщение")
Form = InputBox("Укажите номер столбца который надо форматировать", "Системное сообщение")
LastRow = Cells(Rows.Count, ColN).End(xlUp).Row 'Определяем номер последней строки
For i = LastRow To 1 Step -1 'Идем циклом снизу вверх чтоб не вызвать зацикливания
If Val(Cells(i, ColN)) = 2 Then 'проверяем значение из ячейки на условие равное 2
End If
Next
End Sub
|
Как начать выделение диапазона и как его закончить? Предполагаю что нужен вложенный цикл, но не знаю как прописать условия.
С помощью макрорекордера записал выделение и форматирование, но выделение мне не помогает, а форматирование еще рано применять:
Код |
---|
Sub выделение_ячейки()
Range("B3:B13").Select
End Sub
Sub Форматирование()
Selection.FormatConditions.AddColorScale ColorScaleType:=3
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).ColorScaleCriteria(1).Type = _
xlConditionValueLowestValue
With Selection.FormatConditions(1).ColorScaleCriteria(1).FormatColor
.Color = 8109667
.TintAndShade = 0
End With
Selection.FormatConditions(1).ColorScaleCriteria(2).Type = _
xlConditionValuePercentile
Selection.FormatConditions(1).ColorScaleCriteria(2).Value = 50
With Selection.FormatConditions(1).ColorScaleCriteria(2).FormatColor
.Color = 8711167
.TintAndShade = 0
End With
Selection.FormatConditions(1).ColorScaleCriteria(3).Type = _
xlConditionValueHighestValue
With Selection.FormatConditions(1).ColorScaleCriteria(3).FormatColor
.Color = 7039480
.TintAndShade = 0
End With
End Sub
|
В принципе возможна и ситуация когда макрос идет от "1" до "2", просто я взял за основу чужой макрос и решил не менять этот пункт.