|
01.02.2005, 12:11 | #1 |
Участник
|
как из навижена отсортировать несколько строк в экселе...
не пойму в чём косяк... не пойму где ошибка... Sheet.Range( 'A1:Z30' ).Sort; |
|
01.02.2005, 12:15 | #2 |
NavAx
|
Дык надо, наверное, указать, по какому столбцу сортировать... (как - не знаю)
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
01.02.2005, 12:35 | #3 |
Участник
|
в хелпе этот параметр не обязательный...
|
|
01.02.2005, 13:05 | #4 |
NavAx
|
Ну да, если бы был рендж 'A1:A30', то, наверное, необязательный
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
01.02.2005, 13:38 | #5 |
Moderator
|
А какая ошибка возникает?
|
|
01.02.2005, 13:58 | #6 |
Участник
|
ключем по умолчанию выбирается первый столбец... если кто-то сталкивался с сортировкой то помогите...(to Дуд: а гипотетические предположения по поводу того что я камень мне не нужны.... это я и так знаю...
to Dzemon: вызов метода sort класса Range неудачен. |
|
01.02.2005, 14:08 | #7 |
NavAx
|
Чесслово, вот указал я ключик, и заработало оно.
Sheet.Range('A1:Z30').Sort(Sheet.Range('A1'));
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
02.12.2009, 14:27 | #8 |
Участник
|
|
|
27.01.2010, 15:58 | #9 |
Участник
|
Цитата:
Sheet.Range('A1:Z30').Sort(Sheet.Range('A1'),2); убывание Если сделать просто Sort() без параметров, то будет сортироваться выделение внутри Range по возрастанию. P.S. А ваще MSDN Вам в помощь....
__________________
"И лишь патологоанатом не берет работу на дом" (с) Вишневский |
|
01.02.2005, 15:13 | #10 |
Moderator
|
Я думаю ошибка в выборе подтипа переменной Automation, т.е. не тот объект Екселя подставлен. Проверьте как инициализируются эти переменные.
|
|
15.02.2005, 16:08 | #11 |
Участник
|
а теперь из 10 строк попробуй отсортировать таким способом только 5 строк в центре... не поверишь но он у меня сортирует всёравно все 10... я даже немогу понять как... скоро начну грызть угол стола... непойму где я туплю...
Sheet.Range( 'A10:I50' ).Sort( Sheet.Range( 'A10' ) ); Function Sort( [Key1], [Order1 As XlSortOrder = xlAscending], [Key2], [Type], [Order2 As XlSortOrder = xlAscending], [Key3], [Order3 As XlSortOrder = xlAscending], [Header As XlYesNoGuess = xlNo], [OrderCustom], [MatchCase], [Orientation As XlSortOrientation = xlSortRows], [SortMethod As XlSortMethod = xlPinYin], [DataOption1 As XlSortDataOption = xlSortNormal], [DataOption2 As XlSortDataOption = xlSortNormal], [DataOption3 As XlSortDataOption = xlSortNormal]) там таблица... а в 7-9 строка есть шапка таблицы... так вот при сортировке шапка тоже сортируется и улетает в середину... |
|
15.02.2005, 17:00 | #12 |
Участник
|
если ктонить работал с сортировкой из навижена поможите плиз... а то у стола углы кончились.. скоро примусь за дверь...
там мне ещё нужно по 2м столбца сортировать... это вообще смерть |
|
15.02.2005, 17:45 | #13 |
Участник
|
теперь ещё одна веселуха...
Sheet.Range( 'A30:I50' ).Subtotal( 2, -4157, 3, TRUE, FALSE); из хелпы VB Function Subtotal(GroupBy As Long, Function As XlConsolidationFunction, TotalList, [Replace], [PageBreaks], [SummaryBelowData As XlSummaryRow = xlSummaryBelow]) пример: Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2, 3) один из параметров где стоит цифра 3 (TotalList).... должен быть массивом... можно ли передать в этот параметр статично или как угодно... набор а не единственное число????? оч надо... |
|
05.05.2005, 17:25 | #14 |
Участник
|
День добрый, тоже столкнулся с проблемоу сортировки и изгрыз всю мебель.
Если решение данной проблемы было найдено, поделитесь пожалуйста с страдающими |
|
05.05.2005, 18:35 | #15 |
Участник
|
Да не работает эта хрень в екселе, сортируйте макросом.
делаешь шаблон екселевский. в нем макрос пишешь как хочешь на родном VB. в него передаешь параметры для range , что сортировать хочешь. из навижина Excel.Run(STRSUBSTNO('macros %1 %2....', param1, param2...)); Excel Automation 'Microsoft Excel 11.0 Object Library'.Application :beta: вот так примерно в макросе можно написать Dim tr As Range Set tr = Range("A" + stRow + ":" + col + endRow) tr.Sort Key1:=Range("G" + stRow), Order1:=xlAscending, Key2:=Range( _ "B" + stRow), Order2:=xlAscending |
|
06.05.2005, 10:55 | #16 |
Участник
|
Хорошо, макрос так макрос, но меня не устраивает использование шаблонов.
Можно ли из Навика СОЗДАТЬ макрос в Excel? И если можно то как это сделать. |
|
06.05.2005, 13:01 | #17 |
Участник
|
И чем же не устраивает использование шаблонов?
|
|
06.05.2005, 13:16 | #18 |
Участник
|
Задача так поставлена, нельзя шаблоны использовать
|
|
11.05.2005, 10:38 | #19 |
Участник
|
Цитата:
Сообщение от Jackal
Задача так поставлена, нельзя шаблоны использовать
вспомнился пример из книжки: - Не хватает опилок. - А зачем вам опилки? - Пол скользкий. Посыпаем. - А почему пол скользкий? - Масло с трубы капает. - А почему масло с трубы капает? - Сальник испортился. - Так может сальник поменять? P.S. А зачем вам сортировка в экселе? |
|
12.05.2005, 11:44 | #20 |
Участник
|
Данную сортировку нельзя организовать простым созданием ключа, т.к поле по которому нужно сортировать лежит не в первом дата айтеме. (т. е что бы строки были правильно отсортированы нужно полностью переделывать отчет)
Поэтому гараздо проще уже заполненай экселевский документ отсортировать в нужном порядке |
|