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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2009, 12:05   #1
qwertyk
Пользователь
 
Регистрация: 15.07.2009
Сообщений: 52
По умолчанию Помогите разобраться с функцией ВПР

Мне нужно чтобы функция ВПР вставляла в ячейку не первые найденые значения, а все через запятую. Как можно это сделать?
qwertyk вне форума Ответить с цитированием
Старый 15.07.2009, 12:07   #2
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

Функция ВПР этого сделать не сможет.
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 15.07.2009, 12:07   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ВПР тут не поможет. пишите макрос...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.07.2009, 12:45   #4
qwertyk
Пользователь
 
Регистрация: 15.07.2009
Сообщений: 52
По умолчанию

Я в макросах не очень сображаю, помогите написать!!!!!!!
qwertyk вне форума Ответить с цитированием
Старый 15.07.2009, 12:48   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Будет пример файла и описание задачи - будет Вам и ответ.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 15.07.2009, 13:43   #6
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

Пример приложи. Может другими формулами можно сделать...
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 15.07.2009, 13:53   #7
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

вот такая функция:
Код:
Function ВПРвсе(что, где, столбец, как)
Dim n&
On Error Resume Next
    Do
        n = WorksheetFunction.Match(что, где.Columns(1), как)
        If Err.Number = 0 Then
            ВПРвсе = ВПРвсе & ";" & WorksheetFunction.Index(где.Columns(столбец), n)
            Set где = где.Offset(n).Resize(где.Rows.Count - n)
            If Err.Number Then Exit Do
        Else
            Exit Do
        End If
    Loop
If ВПРвсе = "" Then
    ВПРвсе = "ничего не найдено"
Else
    ВПРвсе = Right(ВПРвсе, Len(ВПРвсе) - 1)
End If
End Function
Вложения
Тип файла: zip впрвсе.zip (7.5 Кб, 21 просмотров)
slan вне форума Ответить с цитированием
Старый 15.07.2009, 14:02   #8
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

вот так более компактно:
Код:
Function ВПРвсе(что, где, столбец, как)
Dim n&
On Error GoTo ex
    Do
        n = WorksheetFunction.Match(что, где.Columns(1), как)
        ВПРвсе = ВПРвсе & ";" & WorksheetFunction.Index(где.Columns(столбец), n)
        Set где = где.Offset(n).Resize(где.Rows.Count - n)
    Loop
ex:
If ВПРвсе = "" Then
    ВПРвсе = "ничего не найдено"
Else
    ВПРвсе = Right(ВПРвсе, Len(ВПРвсе) - 1)
End If
End Function
slan вне форума Ответить с цитированием
Старый 15.07.2009, 15:08   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

класс! снова задачи нет, а решение уже готово!
slan, принципиальное расхождение с техзаданием - там написано "а все через запятую", а что мы видим в коде?)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.07.2009, 15:33   #10
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

ну не могу я через запятую
slan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите, не могу разобраться с функцией INSERT KARUSHEV БД в Delphi 27 17.07.2009 17:54
помогите с функцией Ximerka Паскаль, Turbo Pascal, PascalABC.NET 0 09.04.2009 00:14
Помогите разобраться с собственной функцией MasterofCDM Общие вопросы Delphi 4 03.04.2009 12:15
Вопрос по работе с функцией ВПР igoreka Microsoft Office Excel 2 07.12.2007 12:50