Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
1 / 1 / 0
Регистрация: 20.04.2016
Сообщений: 37
Excel

Поиск уникальных значений в массиве

04.07.2019, 21:29. Показов 5025. Ответов 6

Студворк — интернет-сервис помощи студентам
Доброго времени суток, уважаемые форумчане. Подскажите как лучше через vba реализовать вот такую задачу.

На листе 1 В колонке "A" есть столбец с данными. Нужно сравнить значения с столбцами "B" и "E" на листе 2 и если значения нет то подкрасить ячейку в колонке "A" лист 1. Большое спасибо.
Вложения
Тип файла: xlsx Тест.xlsx (9.2 Кб, 11 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.07.2019, 21:29
Ответы с готовыми решениями:

Сравнение, поиск, и выделение уникальных значений
Здравствуйте уважаемые форумчане. Помогите с макросом. Сделал вот такой. С циклом мудрить не стал, бывает не более 2000 значений. Sub...

Поиск уникальных значений по двум колонкам
Доброго времени суток. Не могу решить загадку, подскажите. Очень интересно, как правильно делать такие штуки. В общем есть код, полностью...

Поиск уникальных значений по диапазону, суммирование количества и добавление суммы на сводный лист
Доброго времени, Есть количество уникальных значений на Листе1 , нужно найти эти значения на Листе2, посчитать общее количество и...

6
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
04.07.2019, 22:08
Andrey312608,
Это и без VBA возможно.

Добавлено через 7 минут
Извините, не заметил про 2-ой лист
0
1 / 1 / 0
Регистрация: 20.04.2016
Сообщений: 37
04.07.2019, 22:08  [ТС]
Проблема в том что массив в который я хочу вставить этот код более 10000 строк. Массив постоянно изменяемый. Поэтому нужен именно vba
0
 Аватар для Narimanych
2751 / 1725 / 779
Регистрация: 23.03.2015
Сообщений: 5,449
04.07.2019, 22:33
Andrey312608,

Для вашего примера как вариант:

Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub ForAndrey ()
For i = 1 To 41
    Flag = True
    Set R = Sheets(2).UsedRange.Cells
    For Each Cell In R
      If Sheets(1).Cells(i, 1).Value = Cell.Value Then Flag = False
    Next
    If Flag Then Sheets(1).Cells(i, 1).Interior.Color = vbYellow
Next
End Sub
Добавлено через 1 минуту
Цитата Сообщение от Andrey312608 Посмотреть сообщение
код более 10000 строк
Код будет работать медленно...

Добавлено через 6 минут
Andrey312608,

Пришлите оригинальный файл...
1
1 / 1 / 0
Регистрация: 20.04.2016
Сообщений: 37
05.07.2019, 07:17  [ТС]
К сожалению его выгрузить не получиться, но от этого примера он особо не отличается. А вам большое спасибо за ответ.
0
198 / 132 / 67
Регистрация: 27.03.2019
Сообщений: 288
05.07.2019, 07:31
Лучший ответ Сообщение было отмечено Andrey312608 как решение

Решение

Andrey312608, Попробуйте использовать коллекции
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub fjvnjvn()
    Dim Col As New Collection
    Dim massBE As Variant
    Dim rg As Range
    Dim i As Long
    Dim massA As Variant
    Application.ScreenUpdating = False
    Set rg = Union(Sheets("Лист2").Range("B1:B30"), Sheets("Лист2").Range("E1:E12"))
    massBE = rg
    On Error Resume Next
    For i = 1 To UBound(massBE)
        Col.Add massBE(i, 1), CStr(massBE(i, 1))
    Next i
    On Error GoTo 0
    massA = Sheets("Лист1").Range("A1:A41")
    Sheets("Лист1").Range("A1:A41").Interior.Color = vbYellow
    For Each Item In Col
        For i = 1 To UBound(massA)
            If Item = massA(i, 1) Then Cells(i, 1).Interior.Pattern = xlNone
        Next i
    Next Item
    Application.ScreenUpdating = True
End Sub
только диапазоны свои проставить надо
1
1 / 1 / 0
Регистрация: 20.04.2016
Сообщений: 37
05.07.2019, 07:51  [ТС]
Класс, спасибо. сегодня буду пробовать!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.07.2019, 07:51
Помогаю со студенческими работами здесь

Поиск уникальных значений
Поиск уникальных значений. Ещё проблема: есть 2 колонки, в 1 внесены значения времени с интервалом 0.05 с, во вторую - значения...

Найти n наибольших уникальных значений в массиве
Найти n наибольших уникальных значений в массиве, вот моя корявая попытка, не могу понять как решить. import numpy as np a =...

Подсчитать количество уникальных значений в массиве
есть список, в нем надо подсчитать количество повторяющихся значений. То есть например : 4, 5, 4, 1, 3, 2 В результате: 4 - 2...

Поиск уникальных значений в столбце
Мне необходимо в таблице, в колонке "жир", вытащить количество уникальных значений. Этот пример из книги SQL для чайников, но там не...

Работа с Excel (поиск уникальных значений)
Здравствуйте Боги цифры и кода... Подскажите сметному холопу, разжуйте и поясните что да как... Имеется таблица Excel и в первом столбике...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru