Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2014, 17:37   #1
sernik
Пользователь
 
Регистрация: 09.04.2014
Сообщений: 11
Вопрос Не закрашиваются ячейки

Добрый день, Уважаемые форумчане.
Сравниваю 2 листа на наличие Артикулов, если нет в соседнем листе, то подкрашиваю цветом. Беда в том, что почему не подкрашиваются не объединенные ячейки. Пример в скринах во вложении, как должно быть и как получается. Что то пропускаю, не как не увижу.
Записал кусок автозаписью.
Код:
i = 13
'проверка первого листа
Do While Sheets(1).Cells(i, 2) <> "" Or Sheets(1).Cells(i + 1, 2) <> ""
    If Sheets(1).Cells(i, 2) <> "" And Sheets(1).Cells(i, 2) <> "Артикул" Then
        art = Sheets(1).Cells(i, 2)
        j = 13
        flag = False
        Do While Sheets(2).Cells(j, 2) <> "" Or Sheets(2).Cells(j + 1, 2) <> ""
            If Sheets(2).Cells(j, 2) = art Then
                flag = True
                Exit Do
            End If
            j = j + 1
        Loop
        If flag = False Then
            With Sheets(1).Range("B" & i & ":O" & i).Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .ThemeColor = xlThemeColorAccent3
                .TintAndShade = 0.399975585192419
                .PatternTintAndShade = 0
            End With
        End If
    End If
    i = i + 1
Loop
Спасибо!
Вложения
Тип файла: rar sravnenie.rar (349.0 Кб, 11 просмотров)
sernik вне форума Ответить с цитированием
Старый 10.10.2014, 12:05   #2
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Может просто по старинке:
Код:
        If flag = False Then
            Sheets(2).Range("B" & i & ":O" & i + 1).Interior.ColorIndex = 6
        End If
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru

Последний раз редактировалось alex77755; 10.10.2014 в 12:08.
alex77755 вне форума Ответить с цитированием
Старый 10.10.2014, 18:14   #3
sernik
Пользователь
 
Регистрация: 09.04.2014
Сообщений: 11
По умолчанию

Спасибо, понял, что пропустил i+1
Странно, почему то, просто одной строкой не срабатывает
Код:
If flag = False Then
            Sheets(2).Range("B" & i & ":O" & i + 1).Interior.ColorIndex = 6
        End If
Вложения
Тип файла: rar sravnenie.rar (282.9 Кб, 8 просмотров)
sernik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование ячейки и перенос значения ячейки через форму на другой лис Susven Microsoft Office Excel 2 11.06.2013 09:18
Исключение из общей суммы ячейки на основании данных ячейки из другой строки Natalia07 Помощь студентам 2 06.03.2013 17:16
поиск последней заполненной ячейки, которая находится выше ячейки с формулой Akmal-Sharipov Microsoft Office Excel 3 11.01.2011 13:27
Заполнить пустые ячейки ниже значениями из непустой ячейки ing60 Microsoft Office Excel 7 01.04.2009 04:20
Как разделить число и текст в одной ячейки на две ячейки. neboskreb Microsoft Office Excel 2 15.04.2008 19:39