AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.02.2005, 12:11   #1  
HWorld is offline
HWorld
Участник
 
6 / 10 (1) +
Регистрация: 01.02.2005
как из навижена отсортировать несколько строк в экселе...
не пойму в чём косяк... не пойму где ошибка...

Sheet.Range( 'A1:Z30' ).Sort;
Старый 01.02.2005, 12:15   #2  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Дык надо, наверное, указать, по какому столбцу сортировать... (как - не знаю)
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 01.02.2005, 12:35   #3  
HWorld is offline
HWorld
Участник
 
6 / 10 (1) +
Регистрация: 01.02.2005
в хелпе этот параметр не обязательный...
Старый 01.02.2005, 13:05   #4  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Ну да, если бы был рендж 'A1:A30', то, наверное, необязательный
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 01.02.2005, 13:38   #5  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
А какая ошибка возникает?
Старый 01.02.2005, 13:58   #6  
HWorld is offline
HWorld
Участник
 
6 / 10 (1) +
Регистрация: 01.02.2005
ключем по умолчанию выбирается первый столбец... если кто-то сталкивался с сортировкой то помогите...(to Дуд: а гипотетические предположения по поводу того что я камень мне не нужны.... это я и так знаю...

to Dzemon: вызов метода sort класса Range неудачен.
Старый 01.02.2005, 14:08   #7  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Чесслово, вот указал я ключик, и заработало оно.
Sheet.Range('A1:Z30').Sort(Sheet.Range('A1'));
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 01.02.2005, 15:13   #8  
Dzemon is offline
Dzemon
Moderator
 
1,247 / 12 (3) ++
Регистрация: 09.09.2004
Я думаю ошибка в выборе подтипа переменной Automation, т.е. не тот объект Екселя подставлен. Проверьте как инициализируются эти переменные.
Старый 15.02.2005, 16:08   #9  
HWorld is offline
HWorld
Участник
 
6 / 10 (1) +
Регистрация: 01.02.2005
а теперь из 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   #10  
HWorld is offline
HWorld
Участник
 
6 / 10 (1) +
Регистрация: 01.02.2005
если ктонить работал с сортировкой из навижена поможите плиз... а то у стола углы кончились.. скоро примусь за дверь...


там мне ещё нужно по 2м столбца сортировать... это вообще смерть
Старый 15.02.2005, 17:45   #11  
HWorld is offline
HWorld
Участник
 
6 / 10 (1) +
Регистрация: 01.02.2005
теперь ещё одна веселуха...


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   #12  
Jackal1 is offline
Jackal1
Участник
 
54 / 10 (1) +
Регистрация: 29.07.2005
Адрес: Киев
День добрый, тоже столкнулся с проблемоу сортировки и изгрыз всю мебель.
Если решение данной проблемы было найдено, поделитесь пожалуйста с страдающими
Старый 05.05.2005, 18:35   #13  
Polar_imported is offline
Polar_imported
Участник
 
15 / 10 (1) +
Регистрация: 06.08.2004
Да не работает эта хрень в екселе, сортируйте макросом.

делаешь шаблон екселевский. в нем макрос пишешь как хочешь на родном 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   #14  
Jackal1 is offline
Jackal1
Участник
 
54 / 10 (1) +
Регистрация: 29.07.2005
Адрес: Киев
Хорошо, макрос так макрос, но меня не устраивает использование шаблонов.
Можно ли из Навика СОЗДАТЬ макрос в Excel?
И если можно то как это сделать.
Старый 06.05.2005, 13:01   #15  
Polar_imported is offline
Polar_imported
Участник
 
15 / 10 (1) +
Регистрация: 06.08.2004
И чем же не устраивает использование шаблонов?
Старый 06.05.2005, 13:16   #16  
Jackal1 is offline
Jackal1
Участник
 
54 / 10 (1) +
Регистрация: 29.07.2005
Адрес: Киев
Задача так поставлена, нельзя шаблоны использовать
Старый 11.05.2005, 10:38   #17  
Polar_imported is offline
Polar_imported
Участник
 
15 / 10 (1) +
Регистрация: 06.08.2004
Цитата:
Сообщение от Jackal
Задача так поставлена, нельзя шаблоны использовать 

вспомнился пример из книжки:

- Не хватает опилок.
- А зачем вам опилки?
- Пол скользкий. Посыпаем.
- А почему пол скользкий?
- Масло с трубы капает.
- А почему масло с трубы капает?
- Сальник испортился.

- Так может сальник поменять?

P.S. А зачем вам сортировка в экселе?
Старый 12.05.2005, 11:44   #18  
Jackal1 is offline
Jackal1
Участник
 
54 / 10 (1) +
Регистрация: 29.07.2005
Адрес: Киев
Данную сортировку нельзя организовать простым созданием ключа, т.к поле по которому нужно сортировать лежит не в первом дата айтеме. (т. е что бы строки были правильно отсортированы нужно полностью переделывать отчет)

Поэтому гараздо проще уже заполненай экселевский документ отсортировать в нужном порядке
Старый 12.05.2005, 11:48   #19  
Jackal1 is offline
Jackal1
Участник
 
54 / 10 (1) +
Регистрация: 29.07.2005
Адрес: Киев
Решение задачи

XlRange := XlWorkSheet.Cells;
XlRange := XlRange.Range('A7:I20');
XlRange.Sort(XlRange.Cells.Item(SortColNum));

Где:
SortColNum - номер колонки по которой сортировать начиная с 1
XlRange - Automation
Старый 02.12.2009, 14:27   #20  
Yakuza is offline
Yakuza
Участник
 
124 / 10 (1) +
Регистрация: 26.10.2004
Цитата:
Сообщение от Дуд Посмотреть сообщение
Чесслово, вот указал я ключик, и заработало оно.
Sheet.Range('A1:Z30').Sort(Sheet.Range('A1'));
Поднимаю старую тему... А как в таком примере отсортировать не по возрастанию, а по убыванию ?
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:10.