Здравствуйте ,дорогие форумчане.Подскажите пожалуйста,что нужно дополнить в макрос или как его изменить ,чтобы кнопка оставалась на листе 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
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
Большущее спасибо,нужно 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
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, не нужно помогать до устранения замечания. Вы сделали медвежью услугу - вместо автора модераторы сами исправили. Автор плучил желаемое и смылся.
АНДРЕЙ МЕЛЬНИКОВ: размещение вопроса в разных темах; текст КРИКОМ (так воспринимается текст заглавными буквами) не устранили замечание
Уважаемый модератор,ни куда я не смылся,вы чего ???!!! Я очень рад,что есть такой прекрасный сайт,и что открыл для себя 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