Страницы: 1
RSS
Многоуровневая группировка по отступу
 
Заранее извиняюсь,если вдруг повторила вопрос, но перелопатив весь форум все-таки так и не нашла подходящего макроса. Изучила изыскания Казанского и Alexa в области многоуровневой группировки по столбцам, но своими мозгами не смогла додумать его до нужного именно в моем случае формата =) Кто может, помогите, пожалуйста в построении многоуровневой группировки по отступам, а не по столбцам. ОООчень нужно, т.к. данные в таком формате обрабатываются еженедельно, строк несметное количество, а времени в обрез. Заранее всем спасибо!
 
Попробуйте поиграться со свойством IndentLevel  
Range().IndentLevel  
Возможно, если праздники не будут сильно бурными, попробую порешать. Но выглядит все это ооочень смутно. Свободными будут скорее всего 17-18. Если ни кто не возьмется, попробую...
 
Sub test()  
 Dim lr&, c As Range  
 Application.ScreenUpdating = False  
 With ActiveSheet  
   lr = .Cells(.Rows.Count, 1).End(xlUp).Row  
   .Outline.SummaryRow = xlAbove  
   For Each c In .Range(.[a3], .Cells(lr, 1)).Cells
     c.EntireRow.OutlineLevel = c.IndentLevel + 1  
   Next  
 End With  
End Sub  
 
ps. сделано для ex'2003, работу в xlsx не гарантирую, но, имхо, должно работать.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Если по месту, то так.    
Sub test()  
   Dim lr&, c As Range  
   Application.ScreenUpdating = False  
   With ActiveSheet  
       lr = .Cells(.Rows.Count, 1).End(xlUp).Row  
       .Outline.SummaryRow = xlAbove  
       For Each c In .Range(.[a3], .Cells(lr, 1)).Cells
           If c.IndentLevel > 2 Then  
               c.EntireRow.OutlineLevel = c.IndentLevel - 1  
           Else: c.EntireRow.OutlineLevel = 1  
           End If  
       Next  
   End With  
End Sub  
И в xlsx работать не будет. этот формат не поддерживает макросы:)  
Надо xlsm или xlsb
 
Спасибо всем большое и человеческое!!! В написаном постараюсь уже сама разобраться,если нужно будет что-нибудь отредактировать. главное суть ясна! СПАСИБО!!!
 
{quote}{login=CeLen}{date=06.03.2012 01:57}{thema=}{post}Спасибо всем большое и человеческое!!!{/post}{/quote}  
А разве спасибо бывает нечеловеческое? Пощупать бы (:
Страницы: 1
Читают тему
Наверх