#excel #vba
#excel #vba
Вопрос:
Это мой первый код VBA. Я просто вставлю то, что я хочу сделать в коде. Это легко понять:
Sub SetRangeColorIndex()
If Range("y4:y6").Interior.ColorIndex = 0 And Range("y4:y6").Value = "" Then
Range("y4:y6").Interior.ColorIndex = 1
End If
End Sub
Все работает нормально по отдельности, но не при вводе в оператор If. Я пробовал разные интервалы, но это не сработало. Я получаю «Ошибка времени выполнения ’13’: несоответствие типов» в окне сообщения.
В чем здесь проблема?
Комментарии:
1. Вы должны выполнять цикл и проверять каждую ячейку по отдельности.
2.
Range("y4:y6").Value
возвращает массив вариантов, вы не можете сравнить его со строкой.3. ^ Это означает, что все работает нормально по отдельности, но не тогда, когда оператор If не может быть истинным.
4. Спасибо, ребята! Я ценю вашу помощь. Не могли бы вы подробнее остановиться на правильном синтаксисе? Если возможно, я хотел бы следующее: 1- пример выполнения процедуры с помощью цикла. 2- другой возможный способ выполнения того же результата. С наилучшими пожеланиями, Алекс