|
|
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
ZVI А иде в предложенном примере (сортировка с помощью адо рекордсета) вы нашли запрос или вообще хоть какое нибудь пересечение с вашей ссылкой об утечках ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 08:17:30 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
RestavraciyaZVI А иде в предложенном примере (сортировка с помощью адо рекордсета) вы нашли запрос или вообще хоть какое нибудь пересечение с вашей ссылкой об утечках ? Ссылка Вами дана на код для Access-а, для которого то проблем никаких нет. В этом смысле все корректно. Утечки памяти возникнут при попытке обработки подобным способом (средствами ADO) открытых в Excel книг. В этом случае утечка образуется вот здесь (строка кода из приведенной ссылки): Dim rst As New ADODB.Recordset И даже Set rst = Nothing в конце кода не устраняет утечку памяти в этом случае (открытая книга в Excel + ADO). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 09:02:35 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
ZVIИнфо для советчиков обрабатывать Excel-данные с помощью СУДБ, в частности ADO ... ZVI Все это известно уже сто лет. Вам контрвопрос. А как вы собираетесь сортировать в массиве данные разных типов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 10:33:17 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
Меня убивает, например, такой способ решения элементарной проблемы сортировки , как подключение сторонней DLL. Тогда как в СУБД сортировка осуществляется или добавлением двух слов Order by в текст запроса, или включением нужного индекса. Многие задачи средствами СУБД решаются на несколько порядков проще, чем Экселем. Поэтому переход на СУБД почти всегда оправдан. P.S. Я никоим образом не против Excel! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 10:39:56 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
F ZVI Все это известно уже сто лет. То есть, Вы давно согласны, что СУБД не всегда приемлемо ;) FВам контрвопрос. А как вы собираетесь сортировать в массиве данные разных типов? Ссылку (planetaexcel) на программную VBA-сортировку Слэн уже давал. Там есть вариант и для сортировки разных типов данных аналогично тому, как это делает Excel: данные не исчезают, а только сортируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 12:14:30 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
ещё вариант, использую в Excel в модуле1 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:32:36 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
Это похоже на пузырька. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:53:10 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
nporaMepЭто похоже на пузырька.точно, один в один (не изобритать же велосипед) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:58:37 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
пузырек плохо на больших массивах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:10:01 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
ZVIТо есть, Вы давно согласны, что СУБД не всегда приемлемо То, что вы имеете в виду, это и не СУБД, это запрос к таблице Excel, созданной не по правилам СУБД. Он и не должен работать. ZVI Ссылку (planetaexcel) на программную VBA-сортировку Слэн уже давал. Там есть вариант и для сортировки разных типов данных аналогично тому, как это делает Excel: данные не исчезают, а только сортируются. Вот в этом частном случае я с вами согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:37:05 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
nporaMepпузырек плохо на больших массивах.на очень больших не пробовал В моём случае около 3-ёх тысяч элементов. Пока всё устраивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:47:45 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
klen_, Exchange = False из цикла хотя бы уберите :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:55:17 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
_slan_, да и переприсваивать массив в конце незачем, он же по умолчанию по ссылке.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:57:36 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
_slan_не согласен с вами, ни с тем ни с другим предложением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 12:49:53 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
на счёт второго предложения, всё-таки под вопросом Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 12:57:46 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
Do Exchange = False надо поменять на Exchange = False Do ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 14:27:52 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
klen_на счёт второго предложения, всё-таки под вопросом Код: plaintext Да , про эту. с первой, согласен, я несколько поторопился :) но вообще обратите внимание - там нашелся довольно быстрый алгоритм, особенно после модернизации его ZVI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 14:51:10 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
точнее про эти две: massiv2 = ArraySort(massiv1) - лучше просто ArraySort(massiv1) ArraySort = ARRAY_() - вообще удалить программа будет сортировать непосредственно во входящем массиве, если же его трогать не надо, то всегда можно переприсвоить, но пусть уж это будет на совести вызывающего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 14:59:12 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
_slan_точнее про эти две: massiv2 = ArraySort(massiv1) - лучше просто ArraySort(massiv1) ArraySort = ARRAY_() - вообще удалить программа будет сортировать непосредственно во входящем массиве, если же его трогать не надо, то всегда можно переприсвоить, но пусть уж это будет на совести вызывающего Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 15:49:24 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
_slan_но вообще обратите внимание - там нашелся довольно быстрый алгоритм, особенно после модернизации его ZVIне дадите ссылочку, я никак не найду (пожалуйста) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 15:59:36 |
|
||
|
а как сортировать массивы в VBA ?
|
|||
|---|---|---|---|
|
#18+
Klen, вот ссылка http://www.planetaexcel.ru/forum.php?thread_id=7702 ______________________________________________________________ Разрабатываю макросы под заказ. Email: MacrosForYou собака yandex точка ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2009, 12:04:44 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=35751918&tid=2179915]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
187ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 542ms |

| 0 / 0 |
