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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос для поиска и добавление новых записей в таблицу - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Макрос для поиска и добавление новых записей в таблицу
cryuso Дата: Вторник, 01.03.2022, 00:21 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Всем доброго времени суток!

Необходима помощь в написании макроса: есть таблица "Список ВП" - в оригинале в ней около 150 записей, все уникальные, т.е. это эталон.
Так же есть таблица на листе "Выгрузка" - содержит большое количество записей (>6000). В этой таблице нужно найти значения, которых нет в эталонной таблице и выделить такие записи цветом. Важно, чтобы в сравнении учитывались все 3 столбца, а не только ID.

Буду очень благодарна за помощь! ^_^
К сообщению приложен файл: 6251797.xls (25.5 Kb)
 
Ответить
СообщениеВсем доброго времени суток!

Необходима помощь в написании макроса: есть таблица "Список ВП" - в оригинале в ней около 150 записей, все уникальные, т.е. это эталон.
Так же есть таблица на листе "Выгрузка" - содержит большое количество записей (>6000). В этой таблице нужно найти значения, которых нет в эталонной таблице и выделить такие записи цветом. Важно, чтобы в сравнении учитывались все 3 столбца, а не только ID.

Буду очень благодарна за помощь! ^_^

Автор - cryuso
Дата добавления - 01.03.2022 в 00:21
Pelena Дата: Вторник, 01.03.2022, 10:22 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Обязательно макросом? Условное форматирование не подойдёт?
К сообщению приложен файл: 2527182.xls (25.5 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Обязательно макросом? Условное форматирование не подойдёт?

Автор - Pelena
Дата добавления - 01.03.2022 в 10:22
cryuso Дата: Среда, 02.03.2022, 10:56 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте, к сожалению нет :(
 
Ответить
СообщениеЗдравствуйте, к сожалению нет :(

Автор - cryuso
Дата добавления - 02.03.2022 в 10:56
RAN Дата: Среда, 02.03.2022, 13:43 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub Мяу()
    Dim ar, oDic As Object, i&
    Set oDic = CreateObject("Scripting.Dictionary")
    With Sheets("Список ВП")
        ar = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 3).Value
    End With
    For i = 1 To UBound(ar)
        oDic.Item(ar(i, 1) & "|" & ar(i, 2) & "|" & ar(i, 3)) = oDic.Count
    Next
    Application.ScreenUpdating = False
    With Sheets("Выгрузка")
        ar = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 3).Value
        For i = 1 To UBound(ar)
            If Not oDic.exists(ar(i, 1) & "|" & ar(i, 2) & "|" & ar(i, 3)) Then
                .Cells(i, 1).Resize(, 3).Interior.Color = vbRed
            End If
        Next
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]

[p.s.]Лена, возможно ты будешь удивлена, но в твоем файле мой мелкоскоп УФ не нашел.[/p.s.]


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Среда, 02.03.2022, 13:57
 
Ответить
Сообщение[vba]
Код
Sub Мяу()
    Dim ar, oDic As Object, i&
    Set oDic = CreateObject("Scripting.Dictionary")
    With Sheets("Список ВП")
        ar = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 3).Value
    End With
    For i = 1 To UBound(ar)
        oDic.Item(ar(i, 1) & "|" & ar(i, 2) & "|" & ar(i, 3)) = oDic.Count
    Next
    Application.ScreenUpdating = False
    With Sheets("Выгрузка")
        ar = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 3).Value
        For i = 1 To UBound(ar)
            If Not oDic.exists(ar(i, 1) & "|" & ar(i, 2) & "|" & ar(i, 3)) Then
                .Cells(i, 1).Resize(, 3).Interior.Color = vbRed
            End If
        Next
    End With
    Application.ScreenUpdating = True
End Sub
[/vba]

[p.s.]Лена, возможно ты будешь удивлена, но в твоем файле мой мелкоскоп УФ не нашел.[/p.s.]

Автор - RAN
Дата добавления - 02.03.2022 в 13:43
Pelena Дата: Среда, 02.03.2022, 16:53 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Странно... Видимо из-за формата .xls
Ну да ладно, всё равно не подошло бы


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеСтранно... Видимо из-за формата .xls
Ну да ладно, всё равно не подошло бы

Автор - Pelena
Дата добавления - 02.03.2022 в 16:53
Serge_007 Дата: Среда, 02.03.2022, 17:17 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
из-за формата .xls
В .xls УФ сохраняется, за исключением "Остановить, если истина"


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
из-за формата .xls
В .xls УФ сохраняется, за исключением "Остановить, если истина"

Автор - Serge_007
Дата добавления - 02.03.2022 в 17:17
cryuso Дата: Четверг, 03.03.2022, 00:01 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

RAN, отличное решение, большое спасибо! hands
 
Ответить
СообщениеRAN, отличное решение, большое спасибо! hands

Автор - cryuso
Дата добавления - 03.03.2022 в 00:01
  • Страница 1 из 1
  • 1
Поиск:

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