Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Эксель группировка / 9 сообщений из 9, страница 1 из 1
08.09.2009, 13:01:57
    #36183899
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
Есть 3 уровня группировки строк ....
Как кодом удалить строки только группировки 1 уровня???
Пишу: ActiveSheet.Outline.ShowLevels.RowLevels(1).Delete
Но что-то не правильно...
Подскажите, что?
Спасибо...

Stepler (щёлк-щёлк!!)

Код: plaintext
 P.S.Присутствовали ли Вы, когда Вас фотографировали?  
...
Рейтинг: 0 / 0
08.09.2009, 13:47:39
    #36184035
MaximuS_G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
а такое возможно?... F1 говорит что у объекта outline только одно свойство:
F1ShowLevels Method
Displays the specified number of row and/or column levels of an outline.

expression.ShowLevels(RowLevels, ColumnLevels)
expression Required. An expression that returns an Outline object.

RowLevels Optional Variant. Specifies the number of row levels of an outline to display. If the outline has fewer levels than the number specified, Microsoft Excel displays all the levels. If this argument is 0 (zero) or is omitted, no action is taken on rows.

ColumnLevels Optional Variant. Specifies the number of column levels of an outline to display. If the outline has fewer levels than the number specified, Microsoft Excel displays all the levels. If this argument is 0 (zero) or is omitted, no action is taken on columns.
тоесть по идее даже вот эта запись ShowLevels.RowLevels(1) уже не правильна... пример F1 дают такой: .ShowLevels rowLevels:=3
...
Рейтинг: 0 / 0
08.09.2009, 14:16:18
    #36184128
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
MaximuS_G,

Да, но как извратиться и ActiveSheet.Outline.ShowLevels.RowLevels:=1
выделить??? Чтобы потом "грохнуть"
...
Рейтинг: 0 / 0
08.09.2009, 14:20:50
    #36184142
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub test()
  ActiveSheet.Outline.ShowLevels rowLevels:= 1 
  For Each WAr In ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Areas
    WAr.EntireRow.Delete
  Next WAr
End Sub
...
Рейтинг: 0 / 0
08.09.2009, 14:48:57
    #36184230
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
sergeyvg,

Спасибо , смысл понял, Может знаешь как сам уровень № 1 убрать, т.е. он как бы пустой, но он присутствует, а мне надо, чтобы:
Было: 1 2 3 уровни
Стало: 1 2 (бывшие 2 3) уровни (удалить строки 1 уровня и строки 2 уровня стали строками 1 уровня, а строки 3 стали 2 уровнем)
...
Рейтинг: 0 / 0
08.09.2009, 15:11:17
    #36184285
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
может так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub test()
For I =  2  To  3 
  ActiveSheet.Outline.ShowLevels rowLevels:=I
  For Each WAr In ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Areas
    WAr.EntireRow.OutlineLevel = I -  1 
  Next WAr
Next I
End Sub
...
Рейтинг: 0 / 0
08.09.2009, 15:41:59
    #36184370
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
sergeyvg,
Всё класно, 2-ой уровень переходит в 1-ый, но...
После Next I
3-ий превращается во 2-ой уровень, сам 3-ий ликвидируется и ... 1-ый становиться 2-ым, т.е. объединяется с 3-им....
sergeyvg ,
Если можно, объясни мне логику переустановки уровня - я никак понять её не могу.
Спасибо.
...
Рейтинг: 0 / 0
08.09.2009, 16:03:09
    #36184423
sergeyvg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
тогда может так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub test()
  ActiveSheet.Outline.ShowLevels rowLevels:= 2 
  For Each WAr In ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible).Areas
    WAr.EntireRow.OutlineLevel =  1 
  Next WAr
  For Each WAr In ActiveSheet.UsedRange.Rows
    If WAr.OutlineLevel =  3  Then WAr.OutlineLevel =  2 
  Next WAr
End Sub
...
Рейтинг: 0 / 0
08.09.2009, 16:12:01
    #36184445
Stepler
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эксель группировка
sergeyvg,

Спасибо большое, вроде логику нащупал..., что-то уже заработало.
Ущё раз СПАСИБО...
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Эксель группировка / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]