Страницы: 1
RSS
Макрос скрыть / отобразить столбец
 
Здравствуйте ,дорогие форумчане.Подскажите пожалуйста,что нужно дополнить в макрос или как его изменить ,чтобы кнопка оставалась на листе 1,а столбец отображался / скрывался не на листе 1, А НА ЛИСТЕ 2.
Код
Sub qqq()
    If Columns(6).EntireColumn.Hidden = True Then
        Columns(6).EntireColumn.Hidden = False
        ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Скрыть"
    Else
        Columns(6).EntireColumn.Hidden = True
        ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Отобразить"
    End If
End Sub
Файл прилагаю
Изменено: АНДРЕЙ МЕЛЬНИКОВ - 22.01.2017 04:46:31
 
Вместо
Код
Columns(6).EntireColumn.Hidden = False 
написать
Код
Sheets(2).Columns(6).EntireColumn.Hidden = False
Код
Sub qqq()
    If Sheets(2).Columns(6).EntireColumn.Hidden = True Then
        Sheets(2).Columns(6).EntireColumn.Hidden = False
        ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Скрыть"
    Else
        Sheets(2).Columns(6).EntireColumn.Hidden = True
        ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Отобразить"
    End If
End Sub
Изменено: VideoAlex - 20.01.2017 06:55:07
 
код в сообщении своем правильно оформите пожалуйста.
Код
Sheets(2).Columns(6).EntireColumn.Hidden=True
и по аналогии...
 
Большущее спасибо,нужно  Sheets(2).вставлять в три места и тогда все работает.
Пример.
Код
Sub qqq()
    If Sheets(2).Columns(6).EntireColumn.Hidden = True Then
         Sheets(2).Columns(6).EntireColumn.Hidden = False
        ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Скрыть"
    Else
        Sheets(2).Columns(6).EntireColumn.Hidden = True
        ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Отобразить"
    End If
End Sub
 
ВСЕМ ПРИВЕТ.
РЕБЯТА,ТЕПЕРЬ ТАКОЙ МОМЕНТ МЕНЯ ЗАСТОПОРИЛ.
ЧТО НУЖНО ИЗМЕНИТЬ В МАКРОСЕ ,ЧТОБЫ ОН СКРЫВАЛ СТОЛБЦЫ С ШЕСТОГО ПО ПЯТНАДЦАТЫЙ.

ПРИМЕР ПРИЛАГАЮ.
Код
Sub qqq()
    If Sheets(2).Columns(6).EntireColumn.Hidden = True Then
        Sheets(2).Columns(6).EntireColumn.Hidden = False
        ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Скрыть"
    Else
        Sheets(2).Columns(6).EntireColumn.Hidden = True
        ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Отобразить"
    End If
End Sub
Изменено: АНДРЕЙ МЕЛЬНИКОВ - 21.01.2017 13:09:22
 
Можно так
Код
Sub qqq()
If Sheets(2).Range("F:O").EntireColumn.Hidden = True Then
    Sheets(2).Range("F:O").EntireColumn.Hidden = False
    ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Скрыть"
Else
    Sheets(2).Range("F:O").EntireColumn.Hidden = True
    ActiveSheet.DrawingObjects("Button 1").Characters.Text = "Отобразить"
End If
End Sub
Изменено: Garni - 21.01.2017 15:07:59
 
ВСЕ РАБОТАЕТ ! ОТЛИЧНО.БОЛЬШОЕ СПАСИБО !
 
Garni, не нужно помогать до устранения замечания. Вы сделали медвежью услугу - вместо автора модераторы сами исправили. Автор плучил желаемое и смылся.

АНДРЕЙ МЕЛЬНИКОВ:
размещение вопроса в разных темах;
текст КРИКОМ (так воспринимается текст заглавными буквами)
не устранили замечание

Нарываетесь на соответствующее отношение к Вам.
 
Уважаемый модератор,ни куда я не смылся,вы чего ???!!!
Я очень рад,что есть такой прекрасный сайт,и что открыл для себя excel.Рад,что есть такие грамотные и отзывчивые люди,которые мне помогли.
Сразу после того как администратор указал мне на ошибки ,которые я допустил,я объяснил,что не понял в чем конкретно мои ошибки .
Сей час я вас понял,что большими буквами нельзя писать.в разных темах вопрос публиковать тоже,я так понимаю нельзя .принял.
А вот как вставлять код правильно,что бы он отображался на сайте -как надо,я не знаю.Буду рад если подскажите.
Так,что извините,если нарушил правила.Сайт отличный,продолжаем развиваться.всем привет,всем кто помог и поможет еще-огромаднейшее спасибо.
Научусь , тоже буду помогать . Всем добра !
 
Цитата
АНДРЕЙ МЕЛЬНИКОВ написал:
Сразу после того как администратор указал мне на ошибки ,которые я допустил,я объяснил,что не понял в чем конкретно мои ошибки .
Сей час я вас понял,что большими буквами нельзя писать
О том, что не следует писать на верхнем регистре, я Вам писал на почту - что непонятного было в моём сообщении?
Цитата
АНДРЕЙ МЕЛЬНИКОВ написал:
как вставлять код правильно,что бы он отображался на сайте -как надо,я не знаю
Ищите такую кнопку и пользуйтесь ей при вставке кода.
 
Приветствую всех.Подскажите пожалуйста,что нужно изменить или добавить в макрос,что бы при первом нажатии на кнопку ,помеченные столбцы скрывались,а при повторном нажатии на кнопку , помеченные столбцы обратно отображались.
Пример прилагаю.
Код
Sub Hide()
    Dim cell As Range
    Application.ScreenUpdating = False                              'отключаем обновление экрана для ускорения
    For Each cell In ActiveSheet.UsedRange.Rows(1).Cells            'проходим по всем ячейкам первой строки
        If cell.Value = "x" Then cell.EntireColumn.Hidden = True    'если в ячейке x - скрываем столбец
    Next
    For Each cell In ActiveSheet.UsedRange.Columns(1).Cells         'проходим по всем ячейкам первого столбца
        If cell.Value = "x" Then cell.EntireRow.Hidden = True       'если в ячейке x - скрываем строку
    Next
    Application.ScreenUpdating = True
End Sub

 
Код
Sub Hide()
    Dim cell As Range
    Application.ScreenUpdating = False                              'отключаем обновление экрана для ускорения
    For Each cell In ActiveSheet.UsedRange.Rows(1).Cells            'проходим по всем ячейкам первой строки
        If cell.Value = "x" Then
            If cell.EntireColumn.Hidden = True Then
                cell.EntireColumn.Hidden = False
            Else
                cell.EntireColumn.Hidden = True
            End If
        End If
    Next
'    For Each cell In ActiveSheet.UsedRange.Columns(1).Cells         'проходим по всем ячейкам первого столбца
'        If cell.Value = "x" Then cell.EntireRow.Hidden = True       'если в ячейке x - скрываем строку
'    Next
    Application.ScreenUpdating = True
End Sub



 
Огромное спасибо ! Всё работает !  
Страницы: 1
Наверх