У меня есть макрос excel для цветной строки (из столбца A в E) «i», начиная с строки 4 на основе значения в «E (i)»; код выглядит следующим образом:Excel VBA to Loop Coloring Range на основе значения ячейки
Dim i As Integer
Dim arrSht, k
arrSht = Array("1. Asia", "2. Asia", "3. Asia", _
"4. Asia", "6. Europe", "7. Europe")
For k = LBound(arrSht) To UBound(arrSht)
With Worksheets(arrSht(k))
For i = 4 To 11
If Cells(i, 5).Value >= 0.25 Or _
Cells(i, 5).Value <= -0.25 Then
Range(Cells(i, 1), Cells(i, 5)).Interior.Color = 65535
End If
Next i
End With
Next k
End Sub
Код прекрасно работает в окраске строк, за исключением того, что это только цвет строки для активного листа. Когда я пытался поставить что-то вроде
Workbooks("Color row.xlsx").Sheets(arrSht(k)).Range(Cells(i, 1), Cells(i, 5)).Interior.Color = 65535
Я получаю «Ошибка выполнения„438“: Объект не поддерживает это свойство или метод» для этой строки. Я не знаю, что я должен положить, чтобы он раскрашивал ячейку для каждого листа в указанном массиве.
Пожалуйста, помогите!
Большое спасибо :)
положите '.' перед каждой ячейкой и диапазоном. '.Cells (i, 5) .Value> = 0.25 or' –