filmov
tv
Забудь про группировку столбцов в Excel
Показать описание
Привет друзья!
Сегодня заменим стандартную группировку столбцов на собственную.
Неспокойно...
В vk отъезжаю понемногу
И совсем немного в телегу
Лучше подписаться пока не потерялись совсем.
Ты можешь спросить: А что не так с обычной группировкой?
Она неудобная, Занимает много места или ей трудно управлять?
Да. Причем ДА по всем пунктам.
А еще она бесит. И это главное основание для замены.
Что делаем?
У нас есть прекрасное форматирование, которое называется «Выровнять по центру выделения».
Для столбцов, которые мы планируем сгруппировать задаем это форматирование и даем подходящие имена группам столбцов.
Наша идея состоит в том чтобы при двойном щелчке по этому полю подчиненные столбцы разворачивались и сворачивались вот так.
Смотри: Сворачивается и разворачивается, Входит и выходит…
Что делаем.
Жмем на ярлыке листа правую кнопку и выбираем «Просмотреть код».
В открывшемся окне сверху и слева выбираем надпись WorkSheet.
А справа выбираем Бефор Даббл Клик.
Это создаст шаблон обработки события двойного щелчка на листе.
Между началом и концом процедуры обработки вставляем вот этот текст.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.HorizontalAlignment = 7 Then
y = Target(1, 1).Row
i = Target(1, 1).Column
While Cells(y, i) = "" And Cells(y, i).HorizontalAlignment = 7
i = i - 1
Wend
j = i + 1
While Cells(y, j) = "" And Cells(y, j).HorizontalAlignment = 7
j = j + 1
Wend
If Cells(Target.Row, j - 1) = "" Then
Range(Replace(Replace(Cells(1, i + 1).Address, "1", ""), "$", "") & ":" & Replace(Replace(Cells(1, j - 1).Address, "1", ""), "$", "")).EntireColumn.Hidden = Not Range(Replace(Replace(Cells(1, i + 1).Address, "1", ""), "$", "") & ":" & Replace(Replace(Cells(1, j - 1).Address, "1", ""), "$", "")).EntireColumn.Hidden
Cancel = True
End If
End If
End Sub
Сегодня заменим стандартную группировку столбцов на собственную.
Неспокойно...
В vk отъезжаю понемногу
И совсем немного в телегу
Лучше подписаться пока не потерялись совсем.
Ты можешь спросить: А что не так с обычной группировкой?
Она неудобная, Занимает много места или ей трудно управлять?
Да. Причем ДА по всем пунктам.
А еще она бесит. И это главное основание для замены.
Что делаем?
У нас есть прекрасное форматирование, которое называется «Выровнять по центру выделения».
Для столбцов, которые мы планируем сгруппировать задаем это форматирование и даем подходящие имена группам столбцов.
Наша идея состоит в том чтобы при двойном щелчке по этому полю подчиненные столбцы разворачивались и сворачивались вот так.
Смотри: Сворачивается и разворачивается, Входит и выходит…
Что делаем.
Жмем на ярлыке листа правую кнопку и выбираем «Просмотреть код».
В открывшемся окне сверху и слева выбираем надпись WorkSheet.
А справа выбираем Бефор Даббл Клик.
Это создаст шаблон обработки события двойного щелчка на листе.
Между началом и концом процедуры обработки вставляем вот этот текст.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.HorizontalAlignment = 7 Then
y = Target(1, 1).Row
i = Target(1, 1).Column
While Cells(y, i) = "" And Cells(y, i).HorizontalAlignment = 7
i = i - 1
Wend
j = i + 1
While Cells(y, j) = "" And Cells(y, j).HorizontalAlignment = 7
j = j + 1
Wend
If Cells(Target.Row, j - 1) = "" Then
Range(Replace(Replace(Cells(1, i + 1).Address, "1", ""), "$", "") & ":" & Replace(Replace(Cells(1, j - 1).Address, "1", ""), "$", "")).EntireColumn.Hidden = Not Range(Replace(Replace(Cells(1, i + 1).Address, "1", ""), "$", "") & ":" & Replace(Replace(Cells(1, j - 1).Address, "1", ""), "$", "")).EntireColumn.Hidden
Cancel = True
End If
End If
End Sub
Комментарии