Коллеги Доброе утро. Есть 1 проблема. 2. Как отображать столбец(ы), если выполняется значение. В таблице по умолчанию 12 столбцов, если значение в необходимой ячейки меняется отображаются/скрываются столбцы?
Коллеги Доброе утро. Есть 1 проблема. 2. Как отображать столбец(ы), если выполняется значение. В таблице по умолчанию 12 столбцов, если значение в необходимой ячейки меняется отображаются/скрываются столбцы?AmonRA2010
В пример написано про скрытие. По значению в ячейке нужно скрывать/отображать столбцы или все таки добавлять? Если добавлять, то что будет в конце концов с добавленными ведь про удаление слова не было.
В пример написано про скрытие. По значению в ячейке нужно скрывать/отображать столбцы или все таки добавлять? Если добавлять, то что будет в конце концов с добавленными ведь про удаление слова не было.Stormy
Просто это можно сделать так. Но, возможно, у наших гуру будет и более интересное решение.
[vba]
Код
Sub Hide() If Range("C3") = 1 Then Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Range("C3") <> 1 Then Columns("O:R").Select Selection.EntireColumn.Hidden = False Range("J22").Select End If End Sub
[/vba]
Просто это можно сделать так. Но, возможно, у наших гуру будет и более интересное решение.
[vba]
Код
Sub Hide() If Range("C3") = 1 Then Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Range("C3") <> 1 Then Columns("O:R").Select Selection.EntireColumn.Hidden = False Range("J22").Select End If End Sub
То что зеленным - это что хотели сделать? Если пред. вариант Вашего кода, то копируйте отсюда и все будет работать.
[vba]
Код
Sub Сол() ' ' Сол Макрос ' If Range("C3") = 1 Then Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Range("C3") <> 1 Then Columns("O:R").Select Selection.EntireColumn.Hidden = False Range("J22").Select End If End Sub
То что зеленным - это что хотели сделать? Если пред. вариант Вашего кода, то копируйте отсюда и все будет работать.
[vba]
Код
Sub Сол() ' ' Сол Макрос ' If Range("C3") = 1 Then Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Range("C3") <> 1 Then Columns("O:R").Select Selection.EntireColumn.Hidden = False Range("J22").Select End If End Sub
спасибо работает. Только есть вопрос, в файле в котором это нужно применять, есть 10 страниц в каждой из которых нужно это прописать. Как это прописать разово для всех страниц?
спасибо работает. Только есть вопрос, в файле в котором это нужно применять, есть 10 страниц в каждой из которых нужно это прописать. Как это прописать разово для всех страниц?AmonRA2010
Как вариант записать код макроса в модуль книги, правда там лучше на изменение ячейки цепляться. Ну или же проставить везде кнопки выполнения. Хотя... Сейчас попробую с несколько листами.
Как вариант записать код макроса в модуль книги, правда там лучше на изменение ячейки цепляться. Ну или же проставить везде кнопки выполнения. Хотя... Сейчас попробую с несколько листами.Stormy
AmonRA2010, В модуль книги добавить нужно. Условия нужно будет написать для всех листов. [vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Worksheets("Лист1").Range("C3") = 1 Then Worksheets("Лист1").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист1").Range("C3") <> 1 Then Worksheets("Лист1").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If If Worksheets("Лист2").Range("C3") = 1 Then Worksheets("Лист2").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист2").Range("C3") <> 1 Then Worksheets("Лист2").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If End Sub
[/vba]
AmonRA2010, В модуль книги добавить нужно. Условия нужно будет написать для всех листов. [vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Worksheets("Лист1").Range("C3") = 1 Then Worksheets("Лист1").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист1").Range("C3") <> 1 Then Worksheets("Лист1").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If If Worksheets("Лист2").Range("C3") = 1 Then Worksheets("Лист2").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист2").Range("C3") <> 1 Then Worksheets("Лист2").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 'Лист1 If Worksheets("Лист1").Range("C3") = 1 Then Worksheets("Лист1").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист1").Range("C3") <> 1 Then Worksheets("Лист1").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If ' Лист2 If Worksheets("Лист2").Range("C3") = 1 Then Worksheets("Лист2").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист2").Range("C3") <> 1 Then Worksheets("Лист2").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If ' Лист3 If Worksheets("Лист3").Range("C3") = 1 Then Worksheets("Лист3").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист3").Range("C3") <> 1 Then Worksheets("Лист3").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If End Sub
[/vba]
Внимательнее с номерами Листов.
[vba]
Код
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 'Лист1 If Worksheets("Лист1").Range("C3") = 1 Then Worksheets("Лист1").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист1").Range("C3") <> 1 Then Worksheets("Лист1").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If ' Лист2 If Worksheets("Лист2").Range("C3") = 1 Then Worksheets("Лист2").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист2").Range("C3") <> 1 Then Worksheets("Лист2").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If ' Лист3 If Worksheets("Лист3").Range("C3") = 1 Then Worksheets("Лист3").Columns("P:Q").Select Selection.EntireColumn.Hidden = True End If If Worksheets("Лист3").Range("C3") <> 1 Then Worksheets("Лист3").Columns("O:R").Select Selection.EntireColumn.Hidden = False End If End Sub