Как установить цвет фона в диапазоне, используя VBA? - PullRequest
0 голосов
/ 26 октября 2018

Вот код, который я пытаюсь.Но это показывает ошибку несоответствия типов.Я не хочу использовать цикл для установки цветов для отдельной ячейки.

Function bgColor()
    Dim MyArray(1, 3) As Variant
    MyArray(0, 0) = 37
    MyArray(0, 1) = 12
    MyArray(0, 2) = 15
    MyArray(0, 3) = 18
    Sheets("Data").Range("A1:D1").Interior.ColorIndex = MyArray
End Function

enter image description here

1 Ответ

0 голосов
/ 26 октября 2018

Цикл массива из 5000 цветов и запись их в ячейки заняли гораздо меньше секунды, даже при включенном обновлении экрана.Есть ли другая причина, по которой вы не можете использовать цикл For?

Sub Test()

    Dim MyArray(0, 4999) As Variant
    Dim i As Long

    For i = 0 To 4999
        MyArray(0, i) = WorksheetFunction.RandBetween(1, 40)
    Next i

    For i = 0 To 4999
        Sheets("Data").Cells(i + 1, 1).Interior.ColorIndex = MyArray(0, i)
    Next i

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...