Страницы: 1
RSS
Автоматическое скрытие столбцов и строк, макрос
 
Помогите, пожалуйста, написать и добавить в экселевский документ (в приложении) макрос (или 2, по 1 на каждое действие) по автоматическому скрытию столбцов и строчек, в которых присутствует значение "скрыть". Это действие должно выполняться автоматически при открытии экселевского файла.
Поясню мой пример. Есть таблица 5 на 5. В 6 столбце и в 6 колонке прописывается либо значение скрыть, либо ничего не прописывается.
В моем примере при открытии этого файла должны стать скрытыми столбцы 1 и 3 и строчки 2 и 4. Очевидно, что столбец 6 и строка 6 тоже скроются. Это нормально и не страшно, главное чтобы это не влияло на работу макроса.
Заранее благодарю за помощь!
 
См. вариант.
 
Кросс
А почему должен скрыться 1 столбец?
Изменено: Alexander88 - 20.11.2014 20:31:42
 
Alexander88, я имел в виду столбец 1 (то есть В), а не столбец 1 (то есть А).
 
Юрий М,
Большое спасибо! Это то, что нужно!
Правда у меня остался 1 вопрос. Этот макрос работает по всему листу, или по всему, кроме первого столбца (А) и первой строчки (1)? Я не очень хорошо разбираюсь в коде, но мне показалось именно так.
 
Макрос обрабатывает имеющийся на листе диапазон, но первый столбец и первую строку не проверяет.
 
Юрий М,
для того, чтобы макрос не обрабатывал 1 столбец и первые 6 строк, а не 1 строку, макрос должен быть переписан вот так?
Код
Private Sub Workbook_Open()
Dim LastRow As Long, LastColumn As Integer, i As Long, j As Integer
    Sheets("Ðàñ÷åò").UsedRange.Rows.Hidden = False
    Sheets("Ðàñ÷åò").UsedRange.Columns.Hidden = False
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    LastColumn = Cells(1, Columns.Count).End(xlToLeft).Column
    For i = 7 To LastRow
        For j = 2 To LastColumn
            If Cells(i, j) = "ñêðûòü" Then
                Rows(i).Hidden = True
                Columns(j).Hidden = True
            End If
        Next
    Next
End Sub
Там не For i = 2 To LastRow, а For i = 7 To LastRow.
 
На первый взгляд всё верно)) Но ведь Вы и САМИ может проверить...
P.S. При копировании кода из редактора, следите за тем, чтобы раскладка клавиатуры была Ru
 
Юрий М, учту, спасибо!
 
Добрый день, просьба помочь написать макрос.
Необходимо, чтобы если в столбцах I:AF будут пустые значения (ни букв, ни чисел), такие столбцы автоматически скрывались при запуске макроса.
 
Код
Sub HiddenIAF()
  Dim c&
  For c = 9 To 32
    Columns(c).Hidden = Cells(Rows.Count, c).End(xlUp).Row = 1 _
    And IsEmpty(Cells(1, c))
  Next
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, Большое спасибо!
Страницы: 1
Наверх