|
Пробежаться по всем фильтрам
|
|||
---|---|---|---|
#18+
Здравствуйте, хочу перебрать все столбцы с фильтрами, количество которых задано пользователем. Кроме вложенных циклов ничего в голову не приходит. Неизвестное количество вложенных циклов, по-моему, не реализуется в VBA. Но должны же быть какие-то варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2011, 17:00 |
|
Пробежаться по всем фильтрам
|
|||
---|---|---|---|
#18+
Задача совершенно не понятна. Но если нужно неизвестное количество вложеных циклов, то используется рекурсия. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2011, 18:02 |
|
Пробежаться по всем фильтрам
|
|||
---|---|---|---|
#18+
> Автор: Дмитрий-(сколько-же-нас?) > хочу перебрать все столбцы с фильтрами, количество которых задано пользователем. > Неизвестное количество вложенных циклов, по-моему, не реализуется в VBA. Не понял, а почему неизвестное количество? На мой взгляд(не замутнённый нарзаном) тут всего один цикл по столбцам выбранным пользователем, внутри которого второй цикл по автофильтрам для проверки вхождения столбца в область действия фильтра. Ну или наоборот :) Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2011, 18:04 |
|
Пробежаться по всем фильтрам
|
|||
---|---|---|---|
#18+
White OwlЗадача совершенно не понятна. Но если нужно неизвестное количество вложеных циклов, то используется рекурсия. С рекурсией в VBA, вроде, какие-то проблемы? По-крайней мере, я как-то пробовал на какой-то не сложной задаче -- не заработало... Игорь ГорбоносНе понял, а почему неизвестное количество? На мой взгляд(не замутнённый нарзаном) тут всего один цикл по столбцам выбранным пользователем, внутри которого второй цикл по автофильтрам для проверки вхождения столбца в область действия фильтра. Ну или наоборот :) Количество неизвестно, потому что задаётся пользователем в начале выполнения макроса, через InputBox. Цикл по автофильтрам не работает, т.к. нужно выставлять значения всех полей. Т.о. если заданы три поля и первое поле содержит -- 5 значений автофильтра, 2-е поле -- 3, 3-е -- 2, то для перебора всех значений нужно, что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Без рекурсии не обойтись? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 09:52 |
|
Пробежаться по всем фильтрам
|
|||
---|---|---|---|
#18+
> Автор: Дмитрий-(сколько-же-нас?) > Количество неизвестно, потому что задаётся пользователем в начале выполнения макроса, через InputBox. И что? Ну задал пользователь и что? Кстати! А что задает пользователь через InputBox? > Цикл по автофильтрам не работает, т.к. нужно выставлять значения всех полей. Вот это не понял. Что значит не работает и какие значения нужно выставлять? > Т.о. если заданы три поля и первое поле содержит -- 5 значений автофильтра, 2-е поле -- 3, 3-е -- 2, то для > перебора всех значений нужно, что-то типа: Здесь тоже не совсем понятно - что ты хочешь получить в результате? Зачем перебирать все возможные комбинации? почему-бы не пройтись только по существующим комбинациям этих автофильтров? Например:Исходные данные на листе в столбцах A-AM, но отбор происходит по данным расположенным в столбцах - P-T Остальные данные просто копируются в результат. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166.
Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2011, 11:24 |
|
|
start [/forum/topic.php?fid=60&gotonew=1&tid=2158943]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 338ms |
total: | 475ms |
0 / 0 |