Искам автоматично да променя цвета на клетките, ако дадена клетка е с 10% по-голяма или по-малка от съответната клетка, която е в същия ред, но три колони вляво, или от съответната клетка (в същия ред и колона) в работната книга „2014variance.xlsx“.
Sub testing1()
Dim x As Integer
Dim y As Integer
For x = 35 To 5 Step -3
For y = 11 To 76 Step 1
If IsNumeric(Cells(y, x).Value) Then
If VBA.Abs(Cells(y, x).Value) < VBA.Abs(0.9 * Cells(y, x - 3).Value) Or _
VBA.Abs(Cells(y, x).Value) > VBA.Abs(1.1 * Cells(y, x - 3)) Then
Cells(y, x).Interior.ColorIndex = 22
ElseIf VBA.Abs(Cells(y, x).Value) < VBA.Abs(0.9 *
Workbooks("2014variance.xlsx").Worksheets("Sheet1").Cells(y, x)) Or _
VBA.Abs(Cells(y, x).Value) > VBA.Abs(1.1 *
Workbooks("2014variance.xlsx").Worksheets("Sheet1").Cells(y, x)) Then
Cells(y, x).Interior.ColorIndex = 42
End If
End If
Next y
Next x
End Sub
Кодът работи добре с изключение на колона 2. Разбирам, че няма да бъде оцветен при първото условие if. Искам обаче да работи при условието „ElseIf“. Колона 2 трябва да има син цвят, защото тези числа са по-ниски от 90% от „2014variance.xlsx“. Как мога да направя това? Благодаря ти много.