Задать вопрос
@Bartiwka

Магическая ошибка 1004?

Привет друзья! Тут интересная история) Поясняю! Есть несколько повторяющихся условий( штук 12 ), проверяю одно условие, урра, работает! А вот в цепочке условий работать отказывается. Вызывает ошибку 1004. При отладке ссылается на Worksheets("max").Range("С3").Interior.Color = vbRed. Что делать, народ! Код ниже
'3
If Worksheets("max").Range("C3").Value = Worksheets("sheet").Range("B1").Value Then
    Worksheets("max").Range("C3").Value = Worksheets("sheet").Range("B3").Value
    Worksheets("max").Range("С3").Interior.Color = vbGreen

ElseIf Worksheets("max").Range("C3").Value = Worksheets("sheet").Range("C1").Value Then
    Worksheets("max").Range("C3").Value = Worksheets("sheet").Range("C3").Value
    Worksheets("max").Range("С3").Interior.Color = vbRed
End If

'4
If Worksheets("max").Range("C4").Value = Worksheets("sheet").Range("B1").Value Then
    Worksheets("max").Range("C4").Value = Worksheets("sheet").Range("B4").Value
    Worksheets("max").Range("С4").Interior.Color = vbGreen

ElseIf Worksheets("max").Range("C4").Value = Worksheets("sheet").Range("C1").Value Then
    Worksheets("max").Range("C4").Value = Worksheets("sheet").Range("C4").Value
    Worksheets("max").Range("С4").Interior.Color = vbRed
End If

'5
If Worksheets("max").Range("C5").Value = Worksheets("sheet").Range("B1").Value Then
    Worksheets("max").Range("C5").Value = Worksheets("sheet").Range("B5").Value
    Worksheets("max").Range("С5").Interior.Color = vbGreen

ElseIf Worksheets("max").Range("C5").Value = Worksheets("sheet").Range("C1").Value Then
    Worksheets("max").Range("C5").Value = Worksheets("sheet").Range("C5").Value
    Worksheets("max").Range("С5").Interior.Color = vbRed
End If
  • Вопрос задан
  • 98 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@lrv
Зачем вам пользовать Range, когда вы обращаетесь к одной ячейке. Листы лучше приучайте себя именовать всегда через Set. Используйте Cells вместо Range.

Set WBMax = thisworkbook.worksheets("max") 
Set WBSheet = thisworkbook.worsheets("sheet")

If WBMax.Cells(1,3).Value = WBMSheet.Cells(1,2).Value Then
     WBMax.Cells(3,3).Value = WBMSheet.Cells(3,2).Value
     WBMax.Cells(3,3).Interior.Color = RBG(1,1,1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы