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

Вход

Регистрация

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

 

= Мир MS Excel/чтобы ячейка оставалась раскрытой всегда - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
чтобы ячейка оставалась раскрытой всегда
soloviet_coco Дата: Вторник, 28.06.2022, 14:15 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

Есть смета, она сгруппирована по блокам. Каждый блок сгруппирован на подблоки. Как сделать, чтобы строка (а в идеале весь блок),
где мы забили значение в ячейку оставался раскрытым всегда? А остальное полотно скрывалось.
Сейчас нужно раскрывать все полотно, чтобы увидеть, где были внесены данные. Вариант с фильтром тоже не удобен. Есть другие варианты? см скрины
К сообщению приложен файл: 8605242.png (160.1 Kb) · 6326666.png (123.7 Kb) · 9257604.png (117.9 Kb)
 
Ответить
СообщениеЕсть смета, она сгруппирована по блокам. Каждый блок сгруппирован на подблоки. Как сделать, чтобы строка (а в идеале весь блок),
где мы забили значение в ячейку оставался раскрытым всегда? А остальное полотно скрывалось.
Сейчас нужно раскрывать все полотно, чтобы увидеть, где были внесены данные. Вариант с фильтром тоже не удобен. Есть другие варианты? см скрины

Автор - soloviet_coco
Дата добавления - 28.06.2022 в 14:15
msi2102 Дата: Вторник, 28.06.2022, 16:05 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 415
Репутация: 129 ±
Замечаний: 0% ±

Excel 2007
Раз примера нет, то разбирайтесь сами. Возможно угадал, то что Вы хотели. Когда-то писал на Планете. В модуль листа
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim a As Range
    Dim uroven1 As Byte
    Dim uroven2 As Byte
    Dim smech As Integer
    On Error Resume Next
    Set a = Selection
    uroven1 = a.Rows(1).OutlineLevel
    uroven2 = a.Rows(2).OutlineLevel
    If uroven1 = 1 Then ActiveSheet.Outline.ShowLevels RowLevels:=1
    If uroven1 = 1 And uroven2 >= 2 Then
        smech = 2
        Do Until a.Rows(smech).OutlineLevel = uroven1
            a.Rows(smech).EntireRow.Hidden = False
            smech = smech + 1
        Loop
    End If
End Sub
[/vba]
К сообщению приложен файл: __3.xlsm (15.6 Kb)


Сообщение отредактировал msi2102 - Вторник, 28.06.2022, 16:07
 
Ответить
СообщениеРаз примера нет, то разбирайтесь сами. Возможно угадал, то что Вы хотели. Когда-то писал на Планете. В модуль листа
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim a As Range
    Dim uroven1 As Byte
    Dim uroven2 As Byte
    Dim smech As Integer
    On Error Resume Next
    Set a = Selection
    uroven1 = a.Rows(1).OutlineLevel
    uroven2 = a.Rows(2).OutlineLevel
    If uroven1 = 1 Then ActiveSheet.Outline.ShowLevels RowLevels:=1
    If uroven1 = 1 And uroven2 >= 2 Then
        smech = 2
        Do Until a.Rows(smech).OutlineLevel = uroven1
            a.Rows(smech).EntireRow.Hidden = False
            smech = smech + 1
        Loop
    End If
End Sub
[/vba]

Автор - msi2102
Дата добавления - 28.06.2022 в 16:05
soloviet_coco Дата: Понедельник, 11.07.2022, 19:24 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 20% ±

msi2102, спасибо за желание помочь!!! Очень надо, а сделать не могу( Нужно другое, вложила файл с двумя примерами.
К сообщению приложен файл: _1_2.xlsx (12.6 Kb)


Сообщение отредактировал soloviet_coco - Понедельник, 11.07.2022, 19:25
 
Ответить
Сообщениеmsi2102, спасибо за желание помочь!!! Очень надо, а сделать не могу( Нужно другое, вложила файл с двумя примерами.

Автор - soloviet_coco
Дата добавления - 11.07.2022 в 19:24
  • Страница 1 из 1
  • 1
Поиск:

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