Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2018, 20:07   #1
Обыватель
Пользователь
 
Регистрация: 21.01.2008
Сообщений: 98
По умолчанию

Здравствуйте, уважаемые ремесленники!

Подскажите, пожалуйста, хотябы вектор мышления в написании кода.

Пример с описанием во вложении.

Спасибо

Вложил файл
Вложения
Тип файла: xlsx пример.xlsx (9.2 Кб, 17 просмотров)

Последний раз редактировалось Аватар; 18.12.2018 в 20:36.
Обыватель вне форума Ответить с цитированием
Старый 18.12.2018, 20:58   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Критерии в словарь, затем перебираете ячейки, в них через сплит значения, проверка каждого по словарю, пишете в результат.
Можно в принципе оформить в UDF, и даже не плодить словари, а использовать один.
P.S. всё в файле.
Вложения
Тип файла: rar пример (23).rar (13.0 Кб, 16 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 18.12.2018 в 21:09.
Hugo121 вне форума Ответить с цитированием
Старый 18.12.2018, 22:25   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Там в примере я когда наводил красоту случайно поставил этим ячейкам текстовый формат (переносом...) - поменяйте его на общий, а то не пересчитается при изменении данных.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.12.2018, 10:19   #4
Обыватель
Пользователь
 
Регистрация: 21.01.2008
Сообщений: 98
По умолчанию

большое спасибо!
Обыватель вне форума Ответить с цитированием
Старый 20.12.2018, 21:24   #5
stasbz
Пользователь
 
Регистрация: 24.05.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Там в примере я когда наводил красоту случайно поставил этим ячейкам текстовый формат (переносом...) - поменяйте его на общий, а то не пересчитается при изменении данных.
Приветствую, мне нужен такой же функционал.
Действительно, при изменение данных, не пересчитывает.
Выделил ячейки - формат ячеек - общий, но это результат не дало.
Подскажите, что надо сделать.
Имеется ввиду, когда вводишь другое число в массив критериев....

Последний раз редактировалось stasbz; 20.12.2018 в 21:26.
stasbz вне форума Ответить с цитированием
Старый 20.12.2018, 22:24   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Цитата:
Сообщение от stasbz Посмотреть сообщение
Действительно, при изменение данных, не пересчитывает.
Имеется ввиду, когда вводишь другое число в массив критериев....
- если собираетесь менять критерии - то тогда нужно и словарь перезаполнять. Тогда один словарь не годится, придётся в каждом экземпляре делать свой - поменяйте код на этот:
Код:
Function obivatelj(r As Range, s As String)
    Dim el, out$
    Dim d As Object
        Set d = CreateObject("Scripting.Dictionary")
        For Each el In r.Value
            d.Item(Trim(el)) = 0&
        Next
    For Each el In Split(s, ";")
        If d.exists(el) Then out = out & ";" & el
    Next
    obivatelj = Mid(out, 2)
End Function
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 21.12.2018, 10:30   #7
stasbz
Пользователь
 
Регистрация: 24.05.2009
Сообщений: 16
По умолчанию

[QUOTE=stasbz;1763693]
Цитата:
Сообщение от Hugo121 Посмотреть сообщение
- если собираетесь менять критерии - то тогда нужно и словарь перезаполнять. Тогда один словарь не годится, придётся в каждом экземпляре делать свой - поменяйте код на этот:
Работает, спасибо.
stasbz вне форума Ответить с цитированием
Старый 21.12.2018, 10:43   #8
stasbz
Пользователь
 
Регистрация: 24.05.2009
Сообщений: 16
По умолчанию

[QUOTE=stasbz;1763722]
Цитата:
Сообщение от stasbz Посмотреть сообщение

Работает, спасибо.
Воспользовался вашими координатами в подписи.
stasbz вне форума Ответить с цитированием
Старый 21.12.2018, 12:52   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Спасибо, вижу
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 22.12.2018, 14:21   #10
stasbz
Пользователь
 
Регистрация: 24.05.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
- если собираетесь менять критерии - то тогда нужно и словарь перезаполнять. Тогда один словарь не годится, придётся в каждом экземпляре делать свой - поменяйте код на этот:
А можно ли видоизменить код, так чтобы функционал был следующий:
Есть Лист 3 с данными в виде
А В
"название 1" "23"
"название 2" "46"
"название 3" "33"
"название 4" "25"

А есть лист 1 и 2, в котором есть эти названия в случайном порядке в одном столбце. Надо обратиться к листу 3 и скопировать число для соответствующего названия и вставить его рядом с соответствующим названием в листе 1 и 2.

Последний раз редактировалось stasbz; 22.12.2018 в 14:29.
stasbz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кнопка для внесения значений на несколько листов сразу filton Microsoft Office Excel 17 06.09.2013 00:17
1) как перетащить несколько модулей с одной книги на другую одним скопом? 2)можно ли открыть несколько книг сразу? БАХТИ Microsoft Office Excel 17 26.09.2011 18:11
«Найти и заменить» сразу несколько значений. Smile2007 Microsoft Office Excel 9 09.12.2010 00:36
Несколько значений одной ячейки Larryes Microsoft Office Excel 3 02.12.2010 13:30
Форма заполнение из одной ячейки сразу 2 таблицы Noorty Microsoft Office Access 8 06.06.2010 20:13