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

Вход

Регистрация

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

 

= Мир MS Excel/Макрос автоматически скрывать строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос автоматически скрывать строки (Формулы/Formulas)
Макрос автоматически скрывать строки
Wil2205 Дата: Четверг, 17.04.2014, 12:43 | Сообщение № 1
Группа: Гости
Добрый день!
не могу разобраться с Макросами
Нужно Автоматически скрывать строки при условии
Если F13=0 то скрыть строки 42-47;
Если F14=0 то скрыть строки 48-53;
Если F15=0 то скрыть строки 54-58.
Лист в файле называется Лист 4

Подскажите что нужно написать. Спасибо!
 
Ответить
СообщениеДобрый день!
не могу разобраться с Макросами
Нужно Автоматически скрывать строки при условии
Если F13=0 то скрыть строки 42-47;
Если F14=0 то скрыть строки 48-53;
Если F15=0 то скрыть строки 54-58.
Лист в файле называется Лист 4

Подскажите что нужно написать. Спасибо!

Автор - Wil2205
Дата добавления - 17.04.2014 в 12:43
Wil2205 Дата: Четверг, 17.04.2014, 12:52 | Сообщение № 2
Группа: Гости
Если F13> то открыть строки 42-47;
Если F14> то открыть строки 48-53;
Если F15> то открыть строки 54-58.
 
Ответить
СообщениеЕсли F13> то открыть строки 42-47;
Если F14> то открыть строки 48-53;
Если F15> то открыть строки 54-58.

Автор - Wil2205
Дата добавления - 17.04.2014 в 12:52
Abakumov Дата: Четверг, 17.04.2014, 13:02 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Совсем не красивое решение, но работает
[vba]
Код
Sub test()
        Dim sht As Worksheet
        Dim a As Integer
            
        Set sht = ThisWorkbook.Worksheets("Лист4")
            
        If sht.Cells(13, 6) = 0 Then
            For a = 42 To 47
                sht.Rows(a).Hidden = True
            Next a
        Else
            For a = 42 To 47
                sht.Rows(a).Hidden = False
            Next a
        End If
        If sht.Cells(14, 6) = 0 Then
            For a = 48 To 53
                sht.Rows(a).Hidden = True
            Next a
        Else
            For a = 48 To 53
                sht.Rows(a).Hidden = False
            Next a
        End If
        If sht.Cells(15, 6) = 0 Then
            For a = 54 To 58
                sht.Rows(a).Hidden = True
            Next a
        Else
            For a = 54 To 58
                sht.Rows(a).Hidden = False
            Next a
        End If
End Sub
[/vba]
[moder] Abakumov, Для макросов нужно использовать не кнопку fх, а кнопку #.
Это так, на будущее. Тут я поправил.
К сообщению приложен файл: 2024763.xlsb (14.3 Kb)


Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
 
Ответить
СообщениеСовсем не красивое решение, но работает
[vba]
Код
Sub test()
        Dim sht As Worksheet
        Dim a As Integer
            
        Set sht = ThisWorkbook.Worksheets("Лист4")
            
        If sht.Cells(13, 6) = 0 Then
            For a = 42 To 47
                sht.Rows(a).Hidden = True
            Next a
        Else
            For a = 42 To 47
                sht.Rows(a).Hidden = False
            Next a
        End If
        If sht.Cells(14, 6) = 0 Then
            For a = 48 To 53
                sht.Rows(a).Hidden = True
            Next a
        Else
            For a = 48 To 53
                sht.Rows(a).Hidden = False
            Next a
        End If
        If sht.Cells(15, 6) = 0 Then
            For a = 54 To 58
                sht.Rows(a).Hidden = True
            Next a
        Else
            For a = 54 To 58
                sht.Rows(a).Hidden = False
            Next a
        End If
End Sub
[/vba]
[moder] Abakumov, Для макросов нужно использовать не кнопку fх, а кнопку #.
Это так, на будущее. Тут я поправил.

Автор - Abakumov
Дата добавления - 17.04.2014 в 13:02
Wil2205 Дата: Четверг, 17.04.2014, 14:09 | Сообщение № 4
Группа: Гости
Извините, но что то не работает. Открываю ваш файл, меняю значения, а строчки как есть так есть. Может еще какой то вариант имеется???
 
Ответить
СообщениеИзвините, но что то не работает. Открываю ваш файл, меняю значения, а строчки как есть так есть. Может еще какой то вариант имеется???

Автор - Wil2205
Дата добавления - 17.04.2014 в 14:09
Abakumov Дата: Четверг, 17.04.2014, 15:33 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Видимо макрос не запускали. Добавил срабатывание на изменения ячеек
К сообщению приложен файл: 3975283.xlsb (14.9 Kb)


Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
 
Ответить
СообщениеВидимо макрос не запускали. Добавил срабатывание на изменения ячеек

Автор - Abakumov
Дата добавления - 17.04.2014 в 15:33
AlexM Дата: Четверг, 17.04.2014, 16:00 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4491
Репутация: 1115 ±
Замечаний: 0% ±

Excel 2003
Еще вариант. Код в модуле листа.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
       Dim iRange As String
       If Not Intersect(Range("F13:F15"), Target) Is Nothing Then
           Select Case Target.Row
               Case 13: iRange = "42:47"
               Case 14: iRange = "48:53"
               Case 15: iRange = "54:58"
           End Select
           Rows(iRange).Hidden = IIf(Target, 0, 1)
       End If
End Sub
[/vba]
К сообщению приложен файл: 2024763_new.xls (30.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Четверг, 17.04.2014, 16:02
 
Ответить
СообщениеЕще вариант. Код в модуле листа.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
       Dim iRange As String
       If Not Intersect(Range("F13:F15"), Target) Is Nothing Then
           Select Case Target.Row
               Case 13: iRange = "42:47"
               Case 14: iRange = "48:53"
               Case 15: iRange = "54:58"
           End Select
           Rows(iRange).Hidden = IIf(Target, 0, 1)
       End If
End Sub
[/vba]

Автор - AlexM
Дата добавления - 17.04.2014 в 16:00
pioneer88 Дата: Понедельник, 21.04.2014, 10:20 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день, всем!
Пытаюсь написать макрос на скрытие строк под свои условия, но не получается (( Прошу помочь!
Вложил файл для наглядности.
Условия:
Если А1=1, то скрываются все строки с типом сотрудника МПК
Если А1=2, то скрываются все строки с типом сотрудника МПА и отображаются все строки с типом сотрудника МПК
Если А1=3, то скрываются все строки с типом сотрудника МПА и отображаются все строки с типом сотрудника МПК
Если А1=4, то открываются все строки с типом сотрудников МПА и МПК.
Спасибо!
[moder]Читаем Правила форума.
Создаем свою тему.
Эта тема закрыта
К сообщению приложен файл: 9751217.xlsx (11.5 Kb)
 
Ответить
СообщениеДобрый день, всем!
Пытаюсь написать макрос на скрытие строк под свои условия, но не получается (( Прошу помочь!
Вложил файл для наглядности.
Условия:
Если А1=1, то скрываются все строки с типом сотрудника МПК
Если А1=2, то скрываются все строки с типом сотрудника МПА и отображаются все строки с типом сотрудника МПК
Если А1=3, то скрываются все строки с типом сотрудника МПА и отображаются все строки с типом сотрудника МПК
Если А1=4, то открываются все строки с типом сотрудников МПА и МПК.
Спасибо!
[moder]Читаем Правила форума.
Создаем свою тему.
Эта тема закрыта

Автор - pioneer88
Дата добавления - 21.04.2014 в 10:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос автоматически скрывать строки (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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