Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Поиск и подстановка в массиве
 
Здравствуйте,
Нужен удобный код массива, который быстро может извлечь данные из таблицы, аналог Индекс/Поискпоз.
С массивными кодами ранее не работал. Хотелось бы, получить такой код от профессионала.
Задача:
1) Чтобы, искал и извлекал данные по двум и более критериям
2) В одном коде выполнить поиск и подстановку  для нескольких диапазонов.

Сейчас есть код, который ищет по одному условию, и я хотел сделать поиск по двум условиям, но не работает.
Вот код.
Код
Sub Test()
FastBegin
Dim S As Double
S = Now

Dim BinosozDB As Variant, BinoDB As Variant, Result As Variant, t As Variant, BinosozLR As String, BinoLR As String, i As Long, j As Long
Dim sl: Set sl = CreateObject("Scripting.Dictionary")

With Sheets("Database")
BinosozLR = .Cells(.Rows.Count, "AH").End(xlUp).Row
BinosozDB = .Range(.Cells(14, 2), .Cells(BinosozLR, 34))
End With

With Sheets("BINO")
BinoLR = .Cells(.Rows.Count, "C").End(xlUp).Row
BinoDB = .Range(.Cells(14, 1), .Cells(BinoLR, 6))
Result = .Range(.Cells(14, 7), .Cells(BinoLR, 7))

For i = 14 To BinosozLR
    sl(BinosozDB(i, 1) & BinosozDB(i, 3)) = BinosozDB(i, 32)
Next i

For j = 14 To BinoLR
    t = BinoDB(j, 1) & Left(BinoDB(j, 3), 250)
    If sl.Exists(t) Then
        Result(j, 1) = sl(t)
   End If
Next j

.Range(.Cells(14, 7), .Cells(BinoLR, 7)) = Result
End With

FastEnd
MSGBOX Now - S, 64
End Sub 

Вкратце, нужны примеры:
Как искать по одному условию.
Как искать по двум условиям
Как выполнить две задачи в одном макросе (вставил в столбец А, следующий код для столбца В)
И желательно с описаниями, чтобы я мог понять и применить в своих файлах.

И еще один момент. Код выше ищет и выводит последнее совпадение, если имеются дублирующиеся строки. Хотелось, бы чтобы выводил первый найденный результат.

Бюджет 500 руб.

С уважением.
 
труднее всего в ваших задачах - понять что вы хотите
если нет возражений с вашей стороны давайте попробую разобраться и сделать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Ігор Гончаренко написал:
труднее всего в ваших задачах - понять что вы хотите
Давайте.

У меня на листах сразу на нескольких столбцах идут формулы индекс/поискпоз. Хочу всех их заменить массивным кодом.
 
не понял задачу(((
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Написал автору.
 
задачу за 500 руб. нельзя решать  более получаса
извините
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, был отправлен код, и шёл процесс переговоров насчёт правильного применения к данным ТС.

З.Ы, Наверно, всё таки выставлять временные рамки решения задачи и указать на неуспеваемость в срок - это право/желание  ТС
Изменено: Бахтиёр - 13 янв 2021 11:53:07
 
Выполнено.
 
Работа выполнена на отлично. Спасибо исполнителю и форуму.
Страницы: 1
Читают тему (гостей: 1)
Наверх