Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Группировка столбцов по изменяющемуся значению в ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Группировка столбцов по изменяющемуся значению в ячейке
Iren Дата: Вторник, 16.01.2018, 10:10 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
Доброго дня, уважаемые знатоки VBA!

Подскажите, пожалуйста, как написать код для группировки столбцов с привязкой к значению в ячейке?
Я новичок в VBA и буду благодарна любым идеям для решения данной задачи. Сама я пока не очень уверенно пишу коды - только самые простые комбинации; под конкретные же задачи - теряюсь.

Во вложении файл с нужным результатам на дату 11 января 2018.
Сгруппировать нужно три диапазона в зависимости от изменяющейся даты.

В результате по макросу группировка должна складываться в зависимости от даты в ячейке А1
Пояснения для группировки по столбцам:

1) Диапазон столбцов (H:NH),
- Группировка отсутствует в периоде, который заканчивается датой из ячейки A1, и начинается на 8 столбцов ранее, но не ранее, чем с начала диапазона.
Т.е. если в ячейке А1 окажется дата 4 января 2018 - то без группировки будут 4 первых столбца, соответствующие 1-4 января.
- Столбцы «до» и столбцы «после» несгруппированного периода в диапазоне должны быть сгруппированы и свернуты.

2) Диапазон столбцов (NJ:PJ),
- Группировка отсутствует в период, который заканчивается неделей, содержащей дату из ячейки A1, и начинается на 4 столбца ранее, но не ранее, чем с начала диапазона (NJ:PJ).
Т.е. максимально лишенными группировки в этом диапазоне могут быть 4 столбца, а если это первая неделя января, то 1 столбец.
- Столбцы «до» и столбцы «после» несгруппированного периода в диапазоне должны быть сгруппированы и свернуты.

3) Диапазон столбцов (PL:PW)
- Группировка отсутствует в период, который заканчивается месяцем, содержащим дату из ячейки A1, и начинается на 4 столбца ранее, но не ранее, чем с начала диапазона (PL:PW).
Т.е. максимально лишенными группировки в этом диапазоне могут быть 4 столбца, а если это январь, то 1 столбец.
- Столбцы «до» и столбцы «после» несгруппированного периода в диапазоне должны быть сгруппированы и свернуты.

Заранее спасибо!
К сообщению приложен файл: 5282422.xlsm (65.3 Kb)
 
Ответить
СообщениеДоброго дня, уважаемые знатоки VBA!

Подскажите, пожалуйста, как написать код для группировки столбцов с привязкой к значению в ячейке?
Я новичок в VBA и буду благодарна любым идеям для решения данной задачи. Сама я пока не очень уверенно пишу коды - только самые простые комбинации; под конкретные же задачи - теряюсь.

Во вложении файл с нужным результатам на дату 11 января 2018.
Сгруппировать нужно три диапазона в зависимости от изменяющейся даты.

В результате по макросу группировка должна складываться в зависимости от даты в ячейке А1
Пояснения для группировки по столбцам:

1) Диапазон столбцов (H:NH),
- Группировка отсутствует в периоде, который заканчивается датой из ячейки A1, и начинается на 8 столбцов ранее, но не ранее, чем с начала диапазона.
Т.е. если в ячейке А1 окажется дата 4 января 2018 - то без группировки будут 4 первых столбца, соответствующие 1-4 января.
- Столбцы «до» и столбцы «после» несгруппированного периода в диапазоне должны быть сгруппированы и свернуты.

2) Диапазон столбцов (NJ:PJ),
- Группировка отсутствует в период, который заканчивается неделей, содержащей дату из ячейки A1, и начинается на 4 столбца ранее, но не ранее, чем с начала диапазона (NJ:PJ).
Т.е. максимально лишенными группировки в этом диапазоне могут быть 4 столбца, а если это первая неделя января, то 1 столбец.
- Столбцы «до» и столбцы «после» несгруппированного периода в диапазоне должны быть сгруппированы и свернуты.

3) Диапазон столбцов (PL:PW)
- Группировка отсутствует в период, который заканчивается месяцем, содержащим дату из ячейки A1, и начинается на 4 столбца ранее, но не ранее, чем с начала диапазона (PL:PW).
Т.е. максимально лишенными группировки в этом диапазоне могут быть 4 столбца, а если это январь, то 1 столбец.
- Столбцы «до» и столбцы «после» несгруппированного периода в диапазоне должны быть сгруппированы и свернуты.

Заранее спасибо!

Автор - Iren
Дата добавления - 16.01.2018 в 10:10
sboy Дата: Вторник, 16.01.2018, 11:50 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Добрый день.
Вариант без группировок, а просто скрытие ненужных столбцов
[vba]
Код
Sub Ìàêðîñ()
    
    Sheets(1).UsedRange.Columns.Hidden = False
    
    On Error Resume Next
        
        d = CDate(Right([a1], 10))
            If Err Then
                MsgBox "íå ðàçîáðàë äàòó"
                Err.Clear
                Exit Sub
            End If
    
    d_ = d - CDate("01.01.2018")
        If d_ > 8 Then Range(Cells(1, 8), Cells(1, d_)).EntireColumn.Hidden = True
        If d_ < 372 Then Range(Cells(1, d_ + 9), Cells(1, 372)).EntireColumn.Hidden = True
    
    w = DatePart("ww", d, 2, 1) + 373
        If w > 377 Then Range(Cells(1, 373), Cells(1, w - 4)).EntireColumn.Hidden = True
        If w < 426 Then Range(Cells(1, w + 1), Cells(1, 426)).EntireColumn.Hidden = True
        
    m = Month(d) + 427
        If m > 431 Then Range(Cells(1, 428), Cells(1, m - 4)).EntireColumn.Hidden = True
        If m < 439 Then Range(Cells(1, m + 1), Cells(1, 439)).EntireColumn.Hidden = True
    
End Sub
[/vba]
К сообщению приложен файл: 8980159.xlsm (68.7 Kb)


Яндекс: 410016850021169
 
Ответить
СообщениеДобрый день.
Вариант без группировок, а просто скрытие ненужных столбцов
[vba]
Код
Sub Ìàêðîñ()
    
    Sheets(1).UsedRange.Columns.Hidden = False
    
    On Error Resume Next
        
        d = CDate(Right([a1], 10))
            If Err Then
                MsgBox "íå ðàçîáðàë äàòó"
                Err.Clear
                Exit Sub
            End If
    
    d_ = d - CDate("01.01.2018")
        If d_ > 8 Then Range(Cells(1, 8), Cells(1, d_)).EntireColumn.Hidden = True
        If d_ < 372 Then Range(Cells(1, d_ + 9), Cells(1, 372)).EntireColumn.Hidden = True
    
    w = DatePart("ww", d, 2, 1) + 373
        If w > 377 Then Range(Cells(1, 373), Cells(1, w - 4)).EntireColumn.Hidden = True
        If w < 426 Then Range(Cells(1, w + 1), Cells(1, 426)).EntireColumn.Hidden = True
        
    m = Month(d) + 427
        If m > 431 Then Range(Cells(1, 428), Cells(1, m - 4)).EntireColumn.Hidden = True
        If m < 439 Then Range(Cells(1, m + 1), Cells(1, 439)).EntireColumn.Hidden = True
    
End Sub
[/vba]

Автор - sboy
Дата добавления - 16.01.2018 в 11:50
Iren Дата: Вторник, 16.01.2018, 12:34 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
sboy,
Это не совсем подходит, т.к. часто приходится в последствии разворачивать группировки в этом файле. Привыкла к "+".
И почему-то начиная с дат февраля в предложенном Вами варианте скрывается также разделительный серый столбец между днями и неделями, что тоже не очень красиво визуально.

Но за идею спасибо! Попробую довести ее в своем коде до желаемого результата.


Сообщение отредактировал Iren - Вторник, 16.01.2018, 14:00
 
Ответить
Сообщениеsboy,
Это не совсем подходит, т.к. часто приходится в последствии разворачивать группировки в этом файле. Привыкла к "+".
И почему-то начиная с дат февраля в предложенном Вами варианте скрывается также разделительный серый столбец между днями и неделями, что тоже не очень красиво визуально.

Но за идею спасибо! Попробую довести ее в своем коде до желаемого результата.

Автор - Iren
Дата добавления - 16.01.2018 в 12:34
sboy Дата: Вторник, 16.01.2018, 12:56 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Привыкла к "+"

Ну тогда держите с плюсиками =)
[vba]
Код
Sub Макрос()
    On Error Resume Next
        ActiveSheet.Outline.ShowLevels ColumnLevels:=2
        Sheets(1).UsedRange.Columns.Ungroup
        If Err Then Err.Clear
        
        d = CDate(Right([a1], 10))
            If Err Then
                MsgBox "не разобрал дату"
                Err.Clear
                Exit Sub
            End If
    
    d_ = d - CDate("01.01.2018") + 8
        If d_ > 15 Then Range(Cells(1, 8), Cells(1, d_ - 8)).EntireColumn.Group
        If d_ < 372 Then Range(Cells(1, d_ + 1), Cells(1, 372)).EntireColumn.Group
    
    w = DatePart("ww", d, 2, 1) + 373
        If w > 377 Then Range(Cells(1, 374), Cells(1, w - 4)).EntireColumn.Group
        If w < 426 Then Range(Cells(1, w + 1), Cells(1, 426)).EntireColumn.Group
        
    m = Month(d) + 427
        If m > 431 Then Range(Cells(1, 428), Cells(1, m - 4)).EntireColumn.Group
        If m < 439 Then Range(Cells(1, m + 1), Cells(1, 439)).EntireColumn.Group
    
    ActiveSheet.Outline.ShowLevels ColumnLevels:=1
End Sub
[/vba]
К сообщению приложен файл: 3866028.xlsm (71.6 Kb)


Яндекс: 410016850021169

Сообщение отредактировал sboy - Вторник, 16.01.2018, 15:58
 
Ответить
Сообщение
Привыкла к "+"

Ну тогда держите с плюсиками =)
[vba]
Код
Sub Макрос()
    On Error Resume Next
        ActiveSheet.Outline.ShowLevels ColumnLevels:=2
        Sheets(1).UsedRange.Columns.Ungroup
        If Err Then Err.Clear
        
        d = CDate(Right([a1], 10))
            If Err Then
                MsgBox "не разобрал дату"
                Err.Clear
                Exit Sub
            End If
    
    d_ = d - CDate("01.01.2018") + 8
        If d_ > 15 Then Range(Cells(1, 8), Cells(1, d_ - 8)).EntireColumn.Group
        If d_ < 372 Then Range(Cells(1, d_ + 1), Cells(1, 372)).EntireColumn.Group
    
    w = DatePart("ww", d, 2, 1) + 373
        If w > 377 Then Range(Cells(1, 374), Cells(1, w - 4)).EntireColumn.Group
        If w < 426 Then Range(Cells(1, w + 1), Cells(1, 426)).EntireColumn.Group
        
    m = Month(d) + 427
        If m > 431 Then Range(Cells(1, 428), Cells(1, m - 4)).EntireColumn.Group
        If m < 439 Then Range(Cells(1, m + 1), Cells(1, 439)).EntireColumn.Group
    
    ActiveSheet.Outline.ShowLevels ColumnLevels:=1
End Sub
[/vba]

Автор - sboy
Дата добавления - 16.01.2018 в 12:56
Iren Дата: Вторник, 16.01.2018, 14:00 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
sboy,

Второй вариант - идеально! specool

Большое Вам спасибо!!!
 
Ответить
Сообщениеsboy,

Второй вариант - идеально! specool

Большое Вам спасибо!!!

Автор - Iren
Дата добавления - 16.01.2018 в 14:00
Iren Дата: Четверг, 18.01.2018, 12:23 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
Подскажите, пожалуйста!

Работая с выше указанным кодом, попыталась уйти от On Error Resume Next, т.к. пока опыт небольшой, боюсь пропускать ошибки ... мало ли что...
Заменила
[vba]
Код
Sheets(1).UsedRange.Columns.Ungroup
If Err Then Err.Clear
[/vba]
на
[vba]
Код
Dim r_of_days As Range
Set r_of_days = Range("H:PW")
While r_of_days.EntireColumn.OutlineLevel > 1
      r_of_days.EntireColumn.Ungroup
Wend
[/vba]

Предполагала, что тогда в нужном мне диапазоне, до тех пор пока столбцы остаются сгруппированными, группировки будут очищаться.
Однако, код не работает как нужно. Ошибок не выдает, но группировки не видит и ничего не очищает.

Где я ошиблась?


Сообщение отредактировал Iren - Четверг, 18.01.2018, 12:44
 
Ответить
СообщениеПодскажите, пожалуйста!

Работая с выше указанным кодом, попыталась уйти от On Error Resume Next, т.к. пока опыт небольшой, боюсь пропускать ошибки ... мало ли что...
Заменила
[vba]
Код
Sheets(1).UsedRange.Columns.Ungroup
If Err Then Err.Clear
[/vba]
на
[vba]
Код
Dim r_of_days As Range
Set r_of_days = Range("H:PW")
While r_of_days.EntireColumn.OutlineLevel > 1
      r_of_days.EntireColumn.Ungroup
Wend
[/vba]

Предполагала, что тогда в нужном мне диапазоне, до тех пор пока столбцы остаются сгруппированными, группировки будут очищаться.
Однако, код не работает как нужно. Ошибок не выдает, но группировки не видит и ничего не очищает.

Где я ошиблась?

Автор - Iren
Дата добавления - 18.01.2018 в 12:23
Karataev Дата: Четверг, 18.01.2018, 13:25 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Можно окружать в обработчик ошибок фрагмент кода, где ожидается ошибка. И если возникнет непредвиденная ошибка в другом месте, Вы об этом узнаете.
 
Ответить
СообщениеМожно окружать в обработчик ошибок фрагмент кода, где ожидается ошибка. И если возникнет непредвиденная ошибка в другом месте, Вы об этом узнаете.

Автор - Karataev
Дата добавления - 18.01.2018 в 13:25
Karataev Дата: Четверг, 18.01.2018, 13:55 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
...


Сообщение отредактировал Karataev - Четверг, 18.01.2018, 17:04
 
Ответить
Сообщение...

Автор - Karataev
Дата добавления - 18.01.2018 в 13:55
Iren Дата: Четверг, 18.01.2018, 14:05 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
Спасибо! Полезно узнать про On Error GoTo 0 :D

Но что все-таки не так у меня с While?
Может, какие-то ограничения есть, когда задается цикл?
Чтобы мне понимать, в каких случаях можно пользоваться while, и с чем while не работает.
 
Ответить
СообщениеСпасибо! Полезно узнать про On Error GoTo 0 :D

Но что все-таки не так у меня с While?
Может, какие-то ограничения есть, когда задается цикл?
Чтобы мне понимать, в каких случаях можно пользоваться while, и с чем while не работает.

Автор - Iren
Дата добавления - 18.01.2018 в 14:05
Karataev Дата: Четверг, 18.01.2018, 14:18 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Откуда Вы "откопали" While - Wend. Если Вы только начинаете изучать VBA. то в современных справочниках не упоминается этот цикл. Было бы понятно, если Вы начали программировать лет 20 назад. Сейчас используются Do - Loop.


Сообщение отредактировал Karataev - Четверг, 18.01.2018, 17:04
 
Ответить
СообщениеОткуда Вы "откопали" While - Wend. Если Вы только начинаете изучать VBA. то в современных справочниках не упоминается этот цикл. Было бы понятно, если Вы начали программировать лет 20 назад. Сейчас используются Do - Loop.

Автор - Karataev
Дата добавления - 18.01.2018 в 14:18
Iren Дата: Четверг, 18.01.2018, 14:38 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
Karataev,

Не совсем: Sub Разгруппировать() снимает только один уровень группировки столбцов, а не все.
Я хотела полностью очистить столбцы области (H:PW) от всех группировок, чтобы цикл проверял диапазон снова и снова, до тех пор, пока уровень группировки>1
 
Ответить
СообщениеKarataev,

Не совсем: Sub Разгруппировать() снимает только один уровень группировки столбцов, а не все.
Я хотела полностью очистить столбцы области (H:PW) от всех группировок, чтобы цикл проверял диапазон снова и снова, до тех пор, пока уровень группировки>1

Автор - Iren
Дата добавления - 18.01.2018 в 14:38
Karataev Дата: Четверг, 18.01.2018, 14:47 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
...


Сообщение отредактировал Karataev - Четверг, 18.01.2018, 17:05
 
Ответить
Сообщение...

Автор - Karataev
Дата добавления - 18.01.2018 в 14:47
Iren Дата: Четверг, 18.01.2018, 15:21 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
Цитата
Макрос из поста 8 удаляет группировку в столбцах "H:PW".

удаляет один уровень группировки, а если уровней вдруг окажется больше (например, 3,4 случайный пользователь файла наставит), то не подходит.

А в макросе из поста №10 у меня баг выдает в строке кода:
[vba]
Код
If r_of_days.Columns(c).OutlineLevel <> 1 Then
[/vba]
Пишет, что приложение или объект не определены.
А после нажатия "End" код идет дальше и заканчивает работу правильно.


Сообщение отредактировал Iren - Четверг, 18.01.2018, 15:27
 
Ответить
Сообщение
Цитата
Макрос из поста 8 удаляет группировку в столбцах "H:PW".

удаляет один уровень группировки, а если уровней вдруг окажется больше (например, 3,4 случайный пользователь файла наставит), то не подходит.

А в макросе из поста №10 у меня баг выдает в строке кода:
[vba]
Код
If r_of_days.Columns(c).OutlineLevel <> 1 Then
[/vba]
Пишет, что приложение или объект не определены.
А после нажатия "End" код идет дальше и заканчивает работу правильно.

Автор - Iren
Дата добавления - 18.01.2018 в 15:21
Iren Дата: Четверг, 18.01.2018, 15:26 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
Цитата
PS. Откуда Вы "откопали" While - Wend.

Месяца два назад начала изучать VBA с нуля по учебнику из интернета. Наверное, это был очень старый учебник) Но просто и понятно написанный. А теперь вот пытаюсь практиковаться.
 
Ответить
Сообщение
Цитата
PS. Откуда Вы "откопали" While - Wend.

Месяца два назад начала изучать VBA с нуля по учебнику из интернета. Наверное, это был очень старый учебник) Но просто и понятно написанный. А теперь вот пытаюсь практиковаться.

Автор - Iren
Дата добавления - 18.01.2018 в 15:26
Karataev Дата: Четверг, 18.01.2018, 15:32 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Можно так удалить группировку:
[vba]
Код
Sub Разгруппировать()
    Dim r_of_days As Range
    Set r_of_days = Range("H:PW")
    r_of_days.ClearOutline
End Sub
[/vba]
PS. Ясно, буду теперь знать, откуда берутся старые приемы - из статей интернета.
 
Ответить
СообщениеМожно так удалить группировку:
[vba]
Код
Sub Разгруппировать()
    Dim r_of_days As Range
    Set r_of_days = Range("H:PW")
    r_of_days.ClearOutline
End Sub
[/vba]
PS. Ясно, буду теперь знать, откуда берутся старые приемы - из статей интернета.

Автор - Karataev
Дата добавления - 18.01.2018 в 15:32
Iren Дата: Четверг, 18.01.2018, 15:39 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
ClearOutline категорически нельзя - в моих файлах есть еще и сложная группировка строк бывает.
 
Ответить
СообщениеClearOutline категорически нельзя - в моих файлах есть еще и сложная группировка строк бывает.

Автор - Iren
Дата добавления - 18.01.2018 в 15:39
sboy Дата: Четверг, 18.01.2018, 15:41 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2566
Репутация: 724 ±
Замечаний: 0% ±

Excel 2010
Поэтому я и предлагал в самом начале скрывать столбцы, а не группировать ;)


Яндекс: 410016850021169
 
Ответить
СообщениеПоэтому я и предлагал в самом начале скрывать столбцы, а не группировать ;)

Автор - sboy
Дата добавления - 18.01.2018 в 15:41
Karataev Дата: Четверг, 18.01.2018, 15:51 | Сообщение № 18
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Ещё способ, как разгруппировать:
[vba]
Код
Sub Разгруппироать()
    Dim r_of_days As Range
    Set r_of_days = Columns("H:PW")
    r_of_days.OutlineLevel = 1
End Sub
[/vba]
 
Ответить
СообщениеЕщё способ, как разгруппировать:
[vba]
Код
Sub Разгруппироать()
    Dim r_of_days As Range
    Set r_of_days = Columns("H:PW")
    r_of_days.OutlineLevel = 1
End Sub
[/vba]

Автор - Karataev
Дата добавления - 18.01.2018 в 15:51
Iren Дата: Четверг, 18.01.2018, 16:03 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 0 ±
Замечаний: 0% ±

2010
Цитата
Поэтому я и предлагал в самом начале скрывать столбцы, а не группировать

Уважаемые, но задача-то сделать макрос, удобный для использования - такой, чтобы привычные ручные действия автоматизировать - а не подстраиваться под код.
Работать удобнее и привычнее с группировками, а не со скрытыми столбцами.

Если, вариантов без On Error Resume нет, то вернусь к макросу из поста 4 и добавлю предложенный On Error Go to 0
Решение-то уже есть - код sboy.
Извиняюсь, если назойлива: мне как новичку было интересно готовый код разобрать вдоль и поперек и максимально понять как он работает и как сделать аналог известными мне операторами, чтобы в дальнейшем мочь что-то самой.
 
Ответить
Сообщение
Цитата
Поэтому я и предлагал в самом начале скрывать столбцы, а не группировать

Уважаемые, но задача-то сделать макрос, удобный для использования - такой, чтобы привычные ручные действия автоматизировать - а не подстраиваться под код.
Работать удобнее и привычнее с группировками, а не со скрытыми столбцами.

Если, вариантов без On Error Resume нет, то вернусь к макросу из поста 4 и добавлю предложенный On Error Go to 0
Решение-то уже есть - код sboy.
Извиняюсь, если назойлива: мне как новичку было интересно готовый код разобрать вдоль и поперек и максимально понять как он работает и как сделать аналог известными мне операторами, чтобы в дальнейшем мочь что-то самой.

Автор - Iren
Дата добавления - 18.01.2018 в 16:03
Karataev Дата: Четверг, 18.01.2018, 16:05 | Сообщение № 20
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
В посте 4 макрос не удаляет все уровни группировки.
 
Ответить
СообщениеВ посте 4 макрос не удаляет все уровни группировки.

Автор - Karataev
Дата добавления - 18.01.2018 в 16:05
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!