|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Сделал автофильтр. С помощью макрорекордера создал макрос, который точно повторяет фильтрацию по 2-м критериям. Вручную всё работает. Запускаю через макрос - лезет чушь... Что не так делаю? Подскажите. Файл с примером прилагаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 21:46 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
проходили уже.... он не справился с правилльным занесением даты, обрати внимание, какая дата стоит в условии отбора по первому столбцу... вылечить так: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 22:17 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Valll Что не так делаю Из опыта, программировать автофильтр - не лучшая практика. Тем не менее, если очень хочется, лучше передавать критерии в массиве Field:=1, Operator:=xlFilterValues, Criteria1:=Array("01.01.2012", "02.01.2012", "03.01.2012", "04.01.2012", "05.01.2012") ValllХотелось бы, чтобы в качестве критерия было условие: <текущая дата + три дня. Соответственно, можете предварительно забить в переменную массива нужные даты, и присваивать критерию ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 22:20 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Valll, Можно чуть проще: Код: vbnet 1. 2. 3.
А причина в дате - Вы вручную гляньте, что в фильтре прописано после Вашего макроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 22:22 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Спасибо за быструю помощь. Уже мозги кипят. Думал простенько, быстро сделаю, а получилось... Попробую все ваши варианты. Даты в макросе я смотрел - одинаково всё. Только месяц (1). Поставил (01) ничего не изменилось. Глюк, точно. PS Уж коль про глюки с датами заговорили, тоже поделюсь наблюдением. Я здесь макрос накатал как-то, про быстрый ввод дат. Так вот, пока его обдумывал с расчётом номеров недель (ещё та задачка) правильных решений я в интернете так и не увидел, пришлось сделать техническую программку, которая визуально показывала номер недели на любой год. Для решения этой задачи мне пришлось тянуть даты вниз в таблице на 50 лет вперёд!!! От такой протяжки, 3 раза Эксель ОШИБАЛСЯ с порядком дат! Пришлось ещё макрос писать для проверки порядка дат... Так что проверяйте даты после "протяжки". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 22:39 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Shocker.Pro, Hugo, проверил оба варианта - всё работает! Elen, ваш вариант попробую позже - уже сплю... Ещё раз, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 22:50 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Hugo121Можно чуть проще Вы так плохому научите)Никогда не ленитесь явно указывать свойства. Известны 10 преимуществ Паскаля перед Си:) Я приведу только одно, но самое важное. На Си вы можете написать: for(;P("\n").R-;P("\ "))for(e=3DC;e-;P("_ "+(*u++/8)%2))P("| "+ (*u/4)%2); На Паскале Вы НЕ МОЖЕТЕ такого написать ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 23:04 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
ElenHimВы так плохому научите)Никогда не ленитесь явно указывать свойства. +100500 ElenHimНа Си вы можете написать: for(;P("\n").R-;P("\ "))for(e=3DC;e-;P("_ "+(*u++/8)%2))P("| "+ (*u/4)%2); Краткость - сестра таланта (c) Чехов ElenHimНа Паскале Вы НЕ МОЖЕТЕ такого написать Но ведь ЭТО проблемы Паскаля :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2012, 23:42 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Игорь Горбонос, Сам при этом не присутствовал, но врядли Чехов имел ввиду программирование? Вы вырвали из контекста, а на самом деле у меня про это: кто-тоПишите код, исходя из того, что все программисты, которые будут сопровождать вашу программу, — склонные к насилию психопаты, знающие, где вы живёте. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 00:28 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
ElenHimкто-то ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 00:40 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Shocker.Proговорят - Мартин Голдинг Спасибо, это важно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 00:53 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
ElenHim, если бы я не ленился - я так бы и делал всё ручками, а не кодом :) А т.к. я не программист - пишу как умею/хочу, мне за это не платят :( ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 01:09 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
Да, против критики ничего не имею. Но все эти := прописывать не начну :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 01:11 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
> Автор: ElenHim OFF> Пишите код, исходя из того, что все программисты, которые будут сопровождать вашу программу, — склонные к насилию психопаты, знающие, где вы живёте. Полностью поддерживаю, а сравнение с и паскаля, мне показалось не совсем умесным. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2012, 10:18 |
|
Критерии для автофильтра из макроса
|
|||
---|---|---|---|
#18+
ElenHim, Извините, можно я вмешаюсь, просто похож на мой макрос, а как сделать что бы в критерии не перечислялись изначальные значения как эти например : ActiveSheet.Range("$A$1:$M$55934").AutoFilter Field:=11, Criteria1:=Array( _ "1", "10", "100", "102", "105", "11", "110", "111", "112", "114", "118", "12", "120", "121", _ "126", "128", "13", "131", "136", "137", "138", "14", "142", "144", "149", "15", "16", "17", _ "176", "177", "18", "185", "19", "2", "20", "21", "210", "22", "23", "232", "24", "25", "26", _ "27", "271", "28", "29", "3", "-3", "30", "31", "311", "32", "33", "34", "35", "36", "37", _ "376", "38", "39", "4", "40", "41", "42", "43", "44", "45", "46", "47", "49", "5", "50", "52", _ "53", "54", "55", "56", "58", "59", "6", "60", "61", "64", "67", "68", "69", "7", "74", "76", _ "77", "78", "8", "81", "82", "86", "88", "89", "9", "90", "98"), Operator:= _ xlFilterValues А задать диапозон от -100 до 100, без пробелов и что бы не забивать каждое отдельное значение. Возможно ли это как то сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2012, 05:55 |
|
|
start [/forum/topic.php?fid=61&gotonew=1&tid=2175294]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
319ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 270ms |
total: | 704ms |
0 / 0 |