|
1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 40
|
|
Работа с функциями Find и FindAll24.11.2015, 14:58. Показов 6465. Ответов 10
Метки нет (Все метки)
Доброго времени суток!
Подскажите, пожалуйста, вариант написания кода для осуществления поиска множества повторяющихся значений из диапазона. Есть рабочая таблица, где присутствуют повторяющиеся значения. Все повторы я подсветил заливкой через условное формативрование. Мне нужно чтобы макрос, столкнувшись с подсвеченной ячейкой, осуществил поиск по столбцу на наличие всех повторов этой ячейки. Цель - выполнить определенное действие со всеми ячейками, которые являются дубликатами активной ячейки. Функция Find теоретически выполняет данную работу, но поиск происходит поочередно и код получается как-то криво, а мне нужно разом найти все повторы, чтобы выделить их и, например, изменить цвет заливки. Не могу разобраться, как это сделать через FindAll. Или всё таки можно красиво сделать и через Find? В любом случае буду признателен за помощь.
0
|
|
| 24.11.2015, 14:58 | |
|
Ответы с готовыми решениями:
10
Как работает Array.Find и Array.FindAll Пролог работа с предикатом findall Работа с функциями |
|
3947 / 2340 / 790
Регистрация: 02.11.2012
Сообщений: 6,220
|
||||||
| 24.11.2015, 15:23 | ||||||
Сообщение было отмечено Falkner как решение
Решение
вот пример использования Find разбирайтесь, применяйте.
1
|
||||||
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
| 24.11.2015, 15:29 | |
|
1
|
|
|
1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 40
|
|
| 24.11.2015, 15:36 [ТС] | |
|
pashulka, В одной таблице может быть дважды значение А, трижды значение Б, четырежды В.
Подсветив все повторы, я вижу, что раз ячейка залита, то где-то у нее есть дубликат. Например у меня активная ячейка А. Она залита цветом, значит есть повтор. Теперь мне нужно найти именно повторы А и сделать со всеми ними определенные действия, не касаясь Б и В и их дубликатов. Кстати, на основе примера от Vlad999 получилось сделать примерно то, что хотел. Спасибо! В FindAll я так и не разобрался, но, видимо, оно и не нужно.
0
|
|
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
| 24.11.2015, 15:41 | |
|
Falkner, а FindAll это кто?
Для выделения ячеек с определенным значением в столбце можно использовать автофильтр или Расширенный фильтр.
1
|
|
|
3947 / 2340 / 790
Регистрация: 02.11.2012
Сообщений: 6,220
|
|
| 24.11.2015, 15:50 | |
|
FindAll в vba нет такого, подозреваю вы нашли статью, она уже раньше поднималась. там пользовательская ф-ция если мне память не изменяет, а не штатная.
1
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
| 24.11.2015, 16:02 | |
|
Falkner, Я намекал на то, что если ячейка A залита, то и все аналогичные дубликаты уже выделены цветом, стало быть менять цвет заливки - смысла нет, ибо УФ всё равно имеет приоритет. Другое дело, если Вы хотите сделать с ними что-то иное …
1
|
|
|
1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 40
|
|
| 24.11.2015, 20:59 [ТС] | |
|
Vlad999, да, увидел такое по статье в сети. Просто в Excel есть функция "Найти", в ней же есть кнопка "Найти всё", с помощью которой можно сразу увидеть количество нужных ячеек и сделать с ними требуемые действия. Искал реализацию этих же действий в VBA.
pashulka, разумеется, с ячейками предполагаются и иные действия, просто нет смысла описывать сюда всю цепочку процедур (кому это интересно?) Казанский, спасибо, но я пока не совсем понимаю, как использовать фильтры в VBA, чтобы автоматизировать нужные мне действия. Т.е. в данной ситуации я вижу выход именно в функции поиска.
0
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|||||||
| 24.11.2015, 21:25 | |||||||
К примеру, вот альтернативный вариант выделения максимума в диапазона, который выполняет поставленную задачу, но вряд ли будет полезен, если на самом деле, вместо изменения цвета заливки, нужно, допустим, копирование данных.
0
|
|||||||
|
3947 / 2340 / 790
Регистрация: 02.11.2012
Сообщений: 6,220
|
|
| 24.11.2015, 23:15 | |
|
pashulka, максимума по задаче искать не нужно. просто у меня такой пример лежал вот и не правил, выложил, как образец.
0
|
|
|
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
|
|
| 24.11.2015, 23:28 | |
|
Vlad999, Не поверите, но я внимательно прочитал задание
и заметил, что речь там шла о повторах, а не максимуме, просто значений = макс тоже может быть несколько.
0
|
|
| 24.11.2015, 23:28 | |
|
Помогаю со студенческими работами здесь
11
Работа с функциями
Работа с функциями Работа с Функциями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера 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, то после закрытия окошка. . .
|