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

Вход

Регистрация

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

 

= Мир MS Excel/Свернуть развернуть столбцы. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Свернуть развернуть столбцы. (Макросы/Sub)
Свернуть развернуть столбцы.
koyaanisqatsi Дата: Понедельник, 21.09.2015, 18:14 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.

Я сам не знаю каким методом можно реализовать такую штуку. В идеале бы условным форматированием, но мне в голову не приходит такая возможность. По этому создаю тему в макросах так как в макросах это наверняка можно реализовать.
Если условным форматированием можно то вариант примерно такой в ячейку пишем какое количество должно быть открыто и открывается в зависимости от циферки если 1то только не залитые столбцы. Если 2 то и не залитые и светлые, если 3 то раскрываются все три блока столбцов.

Если только макросами можно это решить тогда кнопочками 1,2,3 аналогично.

Спасибо.
К сообщению приложен файл: _-_.xlsx (48.7 Kb)


Сообщение отредактировал koyaanisqatsi - Понедельник, 21.09.2015, 19:27
 
Ответить
СообщениеЗдравствуйте.

Я сам не знаю каким методом можно реализовать такую штуку. В идеале бы условным форматированием, но мне в голову не приходит такая возможность. По этому создаю тему в макросах так как в макросах это наверняка можно реализовать.
Если условным форматированием можно то вариант примерно такой в ячейку пишем какое количество должно быть открыто и открывается в зависимости от циферки если 1то только не залитые столбцы. Если 2 то и не залитые и светлые, если 3 то раскрываются все три блока столбцов.

Если только макросами можно это решить тогда кнопочками 1,2,3 аналогично.

Спасибо.

Автор - koyaanisqatsi
Дата добавления - 21.09.2015 в 18:14
TimSha Дата: Понедельник, 21.09.2015, 18:26 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 627
Репутация: 94 ±
Замечаний: 0% ±

Excel 2013 Pro +
Свернуть /развернуть или же скрыть/показать - что не получается?!. ;)


"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Ответить
СообщениеСвернуть /развернуть или же скрыть/показать - что не получается?!. ;)

Автор - TimSha
Дата добавления - 21.09.2015 в 18:26
koyaanisqatsi Дата: Понедельник, 21.09.2015, 19:03 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
TimSha, не получается сделать описанный выше метод) это же не одноразовая функция.
 
Ответить
СообщениеTimSha, не получается сделать описанный выше метод) это же не одноразовая функция.

Автор - koyaanisqatsi
Дата добавления - 21.09.2015 в 19:03
SLAVICK Дата: Понедельник, 21.09.2015, 19:19 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Range (x).Entirecolumn
Детальнее с примером :D


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Понедельник, 21.09.2015, 19:47
 
Ответить
СообщениеRange (x).Entirecolumn
Детальнее с примером :D

Автор - SLAVICK
Дата добавления - 21.09.2015 в 19:19
koyaanisqatsi Дата: Понедельник, 21.09.2015, 19:28 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, Извините. Я пример прикреплял прикреплял да что-то он не прикрепился. Я то знаю правила. Почему он отвалился не пойму. (
Вот исправил.
 
Ответить
СообщениеSLAVICK, Извините. Я пример прикреплял прикреплял да что-то он не прикрепился. Я то знаю правила. Почему он отвалился не пойму. (
Вот исправил.

Автор - koyaanisqatsi
Дата добавления - 21.09.2015 в 19:28
SLAVICK Дата: Понедельник, 21.09.2015, 20:25 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Вот пример для 1-й кнопки :D :
[vba]
Код
Sub macro1()
Dim r As Range, rF As Range, rH As Range
Dim u&, u1&
Set rF = [c7:am7]
rF.EntireColumn.Hidden = False
u = [b1]
u1 = [b3]
For Each r In rF
      If r.Interior.Color = u Xor r.Interior.Color = u1 Then
      If rH Is Nothing Then Set rH = r Else Set rH = Union(rH, r)
      End If
Next
rH.EntireColumn.Hidden = True
End Sub
[/vba]
Остальное в файле.
ЗЫ
На 2-м листе добавил скрытие отображение обычной группировкой - может подойдет ^_^
К сообщению приложен файл: 123-1-.xlsm (92.8 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Понедельник, 21.09.2015, 20:35
 
Ответить
СообщениеВот пример для 1-й кнопки :D :
[vba]
Код
Sub macro1()
Dim r As Range, rF As Range, rH As Range
Dim u&, u1&
Set rF = [c7:am7]
rF.EntireColumn.Hidden = False
u = [b1]
u1 = [b3]
For Each r In rF
      If r.Interior.Color = u Xor r.Interior.Color = u1 Then
      If rH Is Nothing Then Set rH = r Else Set rH = Union(rH, r)
      End If
Next
rH.EntireColumn.Hidden = True
End Sub
[/vba]
Остальное в файле.
ЗЫ
На 2-м листе добавил скрытие отображение обычной группировкой - может подойдет ^_^

Автор - SLAVICK
Дата добавления - 21.09.2015 в 20:25
koyaanisqatsi Дата: Понедельник, 21.09.2015, 20:30 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, 2 и 3 правильно работают 1 не правильно. кликая на 1 надо чтобы скрывалось поле залитое светлым и темным. все что не покрашено было бы развернуто. Попробую разобраться. Спасибо )

И в разных последовательностях не работают тоже (


Сообщение отредактировал koyaanisqatsi - Понедельник, 21.09.2015, 20:33
 
Ответить
СообщениеSLAVICK, 2 и 3 правильно работают 1 не правильно. кликая на 1 надо чтобы скрывалось поле залитое светлым и темным. все что не покрашено было бы развернуто. Попробую разобраться. Спасибо )

И в разных последовательностях не работают тоже (

Автор - koyaanisqatsi
Дата добавления - 21.09.2015 в 20:30
SLAVICK Дата: Понедельник, 21.09.2015, 20:42 | Сообщение № 8
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
надо чтобы скрывалось поле залитое светлым и темным

Я понял, что светлое - это без заливки :)
Тогда поменяйте
[vba]
Код
u = [b1]
на     
u = [b2]
[/vba]
И в разных последовательностях не работают тоже (

Так а Вы и не писали что должно так работать - тогда нужно было написать :
2 = скрываем только темное B)
3 = открывается все

ЗЫ поменял также 2-й лист.
К сообщению приложен файл: 2474015-1-.xlsm (92.9 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Понедельник, 21.09.2015, 20:48
 
Ответить
Сообщение
надо чтобы скрывалось поле залитое светлым и темным

Я понял, что светлое - это без заливки :)
Тогда поменяйте
[vba]
Код
u = [b1]
на     
u = [b2]
[/vba]
И в разных последовательностях не работают тоже (

Так а Вы и не писали что должно так работать - тогда нужно было написать :
2 = скрываем только темное B)
3 = открывается все

ЗЫ поменял также 2-й лист.

Автор - SLAVICK
Дата добавления - 21.09.2015 в 20:42
koyaanisqatsi Дата: Понедельник, 21.09.2015, 20:55 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
Во ! теперь вроде как оно ) Спасибо.
А то я уж думал пошло глобальное недопонимание....


Сообщение отредактировал koyaanisqatsi - Понедельник, 21.09.2015, 20:58
 
Ответить
СообщениеВо ! теперь вроде как оно ) Спасибо.
А то я уж думал пошло глобальное недопонимание....

Автор - koyaanisqatsi
Дата добавления - 21.09.2015 в 20:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Свернуть развернуть столбцы. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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