|
|
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Здравствуете, подскажите, пожалуйста, есть ли возможность в VBA, задавать сортировку самому, то есть с заданными условиями, а точнее возможно ли задать, например следующим образом: Яблоко Груша Вишня Лук ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2011, 23:26 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
0creator0, в соседнем столбце расставьте приоритеты и по нему сортируйте. Или создайте список уникальных с приоритетами, оттуда ВПР-ить приоритеты и по ним сортировать. Короче, Экселю надо дать понять, чего Вы от него хотите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2011, 23:33 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Еще вариант - создание, пользовательского списка автозаполнения. По нему фильтровать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2011, 23:41 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
А возможно создать в виде собственного фильтра, что б я прописал в самом коде VBA , что идет зачем, а макрос по этой аналогии мне отфильтровал, или в этом есть какие-нибудь нюансы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 00:36 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь скиньте хоть примерный код ,как надо начать, есть идея, но не знаю, как это воплотить. допустим в 1 столбце список Лист 1 Яблоко Груша Вишня На втором листе я пишу как надо сортировать: Лист 2 Груша Вишня Яблоко Скиньте, кто сталкивался с такой ситуацией решение, хоть как-то, похоже, а то мыслей вообще нет ни каких, с чего начать и к чему прийти есть только голый Excel. Или ссылку на похожее если поднимали такой вопрос, перешерстил форум , похожего не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 16:44 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
0creator0, зря Вы, что Эксель голый, для затравки: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. For i = 1 To 10 Step 1 Cells(i, 1).Value = Массив(i) Next i End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 17:21 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
сорри, не весь код обрамил тегом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 17:22 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 18:36 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
kuklp, спасибо, то что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 20:03 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Можно и формулами листа (при условии, что второй массив содержит все уникальные значениея первого массива). Можно и скриптом, с любыми наборами данных (и не обязательно встроенной сортировкой)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2011, 20:29 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
AndreTM, спасибо большое чуть доработал, и вообще стало шикарно, и ещё раз хочу сказать большое спасибо Hugo121, а так же kuklp, PlanB вы мне очень помогли. Да поставил следующее If InStr(a(i, 1), b(n, 1)) > 0 Then Теперь он может сортировать в заданном порядке, если даже в списки, стоит допустим яблоко1 или 2яблоко. Вообще м по основе . И если не сложно можете подсказать ответы на такие вопросы, Можно ли заменить b = Range("b2:b6") , массивом из слов в самом коде, т.е. допустим Array("Яблоко", "Груша",”Вишня”,”Лук”,”Морковь”), и если да, то какой способ будет более правильным , и действенным , если заранее предполагать, что сортировка будет происходить где то по 100 наименованием а сам список сортируемы будет предпологать около 1000 позиций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 00:02 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Не хотел обращаться, но эту маленькую загвоздку, что то не осилить мне. А проблема в следующем, по примеру AndreTM, я сделал сортировку но , появилась загвоздка сортируется только один столбик A , а остальные остаются без изменений как можно это подправить? авторPrivate Sub CommandButton1_Click() t = Sheets("Сумма").[A:A] p = Sheets(2).[A1:A4] t0 = 1 k = 1 While k <= UBound(p, 1) For i = t0 To UBound(t, 1) If InStr(t(i, 1), p(k, 1)) > 0 Then If i > t0 Then ti = t(i, 1) t(i, 1) = t(t0, 1) t(t0, 1) = ti End If t0 = t0 + 1 End If Next k = k + 1 Wend End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 22:14 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Думал моежт вот это пристроить к коду но не получается авторApplication.AddCustomList ListArray:=Sheets(2).[A1:A4] Sheets(1).[A1].CurrentRegion.Sort Key1:=Sheets(1).[A1], _ OrderCustom:=Application.CustomListCount + 1 Application.DeleteCustomList Application.CustomListCount ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 22:21 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
0creator0, если правильно понял проблему: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2011, 22:36 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Спасибо, то что нужно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2011, 00:18 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста, как сделать, что б макрос видел последнюю заполненную строчку, а то он у меня видит, сколько всего, в том числе и пустых, а вот заполненных он не видит например: LRow=1000 (когда заполненные всего 25 по Cells(r, 2)) LastRow=1500 (когда заполненные всего 10 по Cells(n, 1)) А рядом с ними в следующих столбцах стоят значение и они как раз заполнены на листе Sheets("Сумма") 1000 и он как раз их и определяет как всего Sheets("Итог") 1500 авторWith Sheets("Сумма").UsedRange LastRow = .Rows.Count For r = LastRow To 1 Step -1 If .Cells(r, 2) = "" Then .Rows(r).Delete End If Next End With With Sheets("Итог").UsedRange LRow = .Rows.Count For n = LRow To 1 Step -1 If .Cells(n, 1) = "" Then End If Next End With t = Sheets("Сумма").[A:C] p = Sheets("Итог").[A:A] t0 = 1 k = 1 While k <= LRow( нужно 25 а видит как 1000) For i = t0 To LastRow ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 17:54 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
.UsedRange относится ко всему листу, а не к "столбцу". Сделайте примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2011, 18:07 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Спасибо IsEmpty(Sheets("Сумма") очень помогло , все стало более понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 09:32 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Внимательно! Что выведет Код: plaintext Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 10:01 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
Hugo121, да здесь мне повезло и все идет с первой строки, а если действительно у меня будет не с первой строки ну допустим, в начале, будет обозначение столбца, и мне его в подсчет не нужно будет включать, что нужно написать что б вычислял с нужно строки Я так понимаю, нужно будет через for как то делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 10:28 |
|
||
|
Сортировка с заданными параметрами
|
|||
|---|---|---|---|
|
#18+
0creator0, Нет, чувствую, что не поняли. Если UsedRange не с первой строки, а например с десятой и 5 строк, то r = 5, тогда Sheets("Сумма").Cells(r, 2)) будет Sheets("Сумма").Cells(5, 2)), что указывает на вообще пустое место выше данных. Нужно ещё учитывать UsedRange.Row. Но в коде выше With Sheets("Сумма").UsedRange LastRow = .Rows.Count всё в порядке, пока сидим в With. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2011, 10:39 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=120&tid=2176478]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 423ms |

| 0 / 0 |
