Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сравнение и выделение ячеек в книге - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сравнение и выделение ячеек в книге (Макросы/Sub)
Сравнение и выделение ячеек в книге
agh1511 Дата: Пятница, 31.07.2020, 11:58 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Добрый день!

Возникла задачка, помогите ее решить.

Дано
книга с несколькими листами
Лист "НД" ячейка d10 контрольное значение
Лист "Данные" несколько сотен строк i
Необходимо
Сравнить значение НД" ячейка d10 с значением Листа "Данные" ячейки Ji/Hi i -номер строки
Если значение "НД" ячейка d10 больше полученного частного то строка выделяется красным
Необходимо пройти все строки где есть значения ячеек Ji и Hi

Спасибо
 
Ответить
СообщениеДобрый день!

Возникла задачка, помогите ее решить.

Дано
книга с несколькими листами
Лист "НД" ячейка d10 контрольное значение
Лист "Данные" несколько сотен строк i
Необходимо
Сравнить значение НД" ячейка d10 с значением Листа "Данные" ячейки Ji/Hi i -номер строки
Если значение "НД" ячейка d10 больше полученного частного то строка выделяется красным
Необходимо пройти все строки где есть значения ячеек Ji и Hi

Спасибо

Автор - agh1511
Дата добавления - 31.07.2020 в 11:58
Pelena Дата: Пятница, 31.07.2020, 13:06 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19162
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Файл с примером помог бы в понимании проблемы


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеФайл с примером помог бы в понимании проблемы

Автор - Pelena
Дата добавления - 31.07.2020 в 13:06
agh1511 Дата: Пятница, 31.07.2020, 13:33 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Добрый день!
Файл с желаемым результатом прикрепил, к сожалению по ряду причин я не могу использовать условное форматирование и создавать дополнительные столбцы,
К сообщению приложен файл: 6013344.xlsx (10.6 Kb)
 
Ответить
СообщениеДобрый день!
Файл с желаемым результатом прикрепил, к сожалению по ряду причин я не могу использовать условное форматирование и создавать дополнительные столбцы,

Автор - agh1511
Дата добавления - 31.07.2020 в 13:33
Nic70y Дата: Пятница, 31.07.2020, 17:07 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Sub u_457()
    u_1 = Cells(Rows.Count, "a").End(xlUp).Row
    Range("a1:n" & u_1).Interior.Pattern = xlNone
    u_2 = Sheets("НД").Range("d10").Value
    For Each u_3 In Range("h1:h" & u_1)
        If u_3 = 0 Then
            u_4 = 0
        Else
            u_4 = u_3.Offset(0, 2) / u_3
        End If
        u_5 = u_3.Row
        If u_4 < u_2 Then
            Range("a" & u_5 & ":n" & u_5).Interior.Color = 255
        End If
    Next
End Sub
[/vba]
К сообщению приложен файл: 18.xlsm (21.3 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщение[vba]
Код
Sub u_457()
    u_1 = Cells(Rows.Count, "a").End(xlUp).Row
    Range("a1:n" & u_1).Interior.Pattern = xlNone
    u_2 = Sheets("НД").Range("d10").Value
    For Each u_3 In Range("h1:h" & u_1)
        If u_3 = 0 Then
            u_4 = 0
        Else
            u_4 = u_3.Offset(0, 2) / u_3
        End If
        u_5 = u_3.Row
        If u_4 < u_2 Then
            Range("a" & u_5 & ":n" & u_5).Interior.Color = 255
        End If
    Next
End Sub
[/vba]

Автор - Nic70y
Дата добавления - 31.07.2020 в 17:07
agh1511 Дата: Понедельник, 03.08.2020, 09:40 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Спасибо!
Вы очень помогли.
Просьба - если не сложно, прокомментируйте код,
 
Ответить
СообщениеСпасибо!
Вы очень помогли.
Просьба - если не сложно, прокомментируйте код,

Автор - agh1511
Дата добавления - 03.08.2020 в 09:40
Nic70y Дата: Понедельник, 03.08.2020, 12:06 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 8705
Репутация: 2260 ±
Замечаний: 0% ±

Excel 2010
я кое-что добавил и переместил немного.
[vba]
Код
Sub u_457()
    Application.ScreenUpdating = False 'отключение обновления экрана
    u_1 = Cells(Rows.Count, "a").End(xlUp).Row 'последняя заполненная строка столбца А
    Range("a1:n" & u_1).Interior.Pattern = xlNone 'очистим предыдущую заливку
    u_2 = Sheets("НД").Range("d10").Value 'значение ячейки D10 листа "НД"
    For Each u_3 In Range("h1:h" & u_1) 'пройдемся циклом по ячейкам диапазона H1:Hпоследняя ячейка
        If u_3 = 0 Then 'если значение очередной ячейки в цикле =0,
            u_4 = 0     'тогда результат деления =0, чтоб избежать ошибки
        Else
            u_4 = u_3.Offset(0, 2) / u_3 'делим значение ячейки смещенное на 2 столбца вправо (т.е. J) на H
        End If
        If u_4 < u_2 Then 'если результат деления меньше значение ячейки D10 листа "НД":
            u_5 = u_3.Row   '№ очередной (проверяемой циклом) строки
            Range("a" & u_5 & ":n" & u_5).Interior.Color = 255 'красим диапазон в данной строке
        End If
    Next
    Application.ScreenUpdating = True 'включение обновления экрана
End Sub
[/vba]надеюсь понятно.


ЮMoney 41001841029809
 
Ответить
Сообщениея кое-что добавил и переместил немного.
[vba]
Код
Sub u_457()
    Application.ScreenUpdating = False 'отключение обновления экрана
    u_1 = Cells(Rows.Count, "a").End(xlUp).Row 'последняя заполненная строка столбца А
    Range("a1:n" & u_1).Interior.Pattern = xlNone 'очистим предыдущую заливку
    u_2 = Sheets("НД").Range("d10").Value 'значение ячейки D10 листа "НД"
    For Each u_3 In Range("h1:h" & u_1) 'пройдемся циклом по ячейкам диапазона H1:Hпоследняя ячейка
        If u_3 = 0 Then 'если значение очередной ячейки в цикле =0,
            u_4 = 0     'тогда результат деления =0, чтоб избежать ошибки
        Else
            u_4 = u_3.Offset(0, 2) / u_3 'делим значение ячейки смещенное на 2 столбца вправо (т.е. J) на H
        End If
        If u_4 < u_2 Then 'если результат деления меньше значение ячейки D10 листа "НД":
            u_5 = u_3.Row   '№ очередной (проверяемой циклом) строки
            Range("a" & u_5 & ":n" & u_5).Interior.Color = 255 'красим диапазон в данной строке
        End If
    Next
    Application.ScreenUpdating = True 'включение обновления экрана
End Sub
[/vba]надеюсь понятно.

Автор - Nic70y
Дата добавления - 03.08.2020 в 12:06
agh1511 Дата: Понедельник, 03.08.2020, 13:15 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Большое спасибо!!!
 
Ответить
СообщениеБольшое спасибо!!!

Автор - agh1511
Дата добавления - 03.08.2020 в 13:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сравнение и выделение ячеек в книге (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!