|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.03.2011, 10:30 | #1 |
Регистрация: 25.11.2010
Сообщений: 7
|
собственный фильтр
Доброго времени суток!
Делаю свой фильтр. Исходные данные: Form1.ListBox1 заполнен возможными вариантами значений (multiselect). Так вот собственно задача отфильтровать по выбранным значениям ListBox1 Автозапись макроса выдает следующее (для выбора значений >2): Selection.AutoFilter ActiveSheet.Range("$A$5:$AF$77").Au toFilter Field:=2, Criteria1:=Array( _ "Запись 1", "Запись 13", "Запись 3", "Запись 6"), Operator:= _ xlFilterValues Я попытался переделать это под себя. Сделал массив нужных значений ListBox'а. Dim ValueArr() As Variant s = 0 For i = 0 To Me.ListBox1.ListCount - 1 If Me.ListBox1.Selected(i) = True Then ReDim Preserve ValueArr(0 To s) ValueArr(s) = Me.ListBox1.List(i) s = s + 1 End If Next i Но как этот массив подложить автофильтру никак не пойму. Пытался уже из этих значений сделать строку вида "Запись 1", "Запись 5" AF_ValueStr = ValueArr(0) & Chr(34) For i = 1 To s - 1 AF_ValueStr = AF_ValueStr & Chr(44) & " " & Chr(34) & ValueArr(i) & Chr(34) MsgBox AF_ValueStr Next i и ее уже подсунуть в скобки Array, но тоже ошибка. Помогите пожалуйста! p.s. Office 2007. Вроде говорят что в 2003 такое вобще не работает. Может быть тогда есть обходной вариант? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
собственный вектор | alexmikt | Microsoft Office Excel | 3 | 13.03.2012 01:31 |
собственный DBNavigator | reBOOK | Помощь студентам | 0 | 26.11.2009 15:50 |
Собственный тип в С | L_M | Общие вопросы C/C++ | 7 | 02.05.2009 22:53 |
Собственный движок | keni9 | PHP | 3 | 06.12.2007 20:02 |