Помогите, пожалуйста, написать и добавить в экселевский документ (в приложении) макрос (или 2, по 1 на каждое действие) по автоматическому скрытию столбцов и строчек, в которых присутствует значение "скрыть". Это действие должно выполняться автоматически при открытии экселевского файла. Поясню мой пример. Есть таблица 5 на 5. В 6 столбце и в 6 колонке прописывается либо значение скрыть, либо ничего не прописывается. В моем примере при открытии этого файла должны стать скрытыми столбцы 1 и 3 и строчки 2 и 4. Очевидно, что столбец 6 и строка 6 тоже скроются. Это нормально и не страшно, главное чтобы это не влияло на работу макроса. Заранее благодарю за помощь!
Помогите, пожалуйста, написать и добавить в экселевский документ (в приложении) макрос (или 2, по 1 на каждое действие) по автоматическому скрытию столбцов и строчек, в которых присутствует значение "скрыть". Это действие должно выполняться автоматически при открытии экселевского файла. Поясню мой пример. Есть таблица 5 на 5. В 6 столбце и в 6 колонке прописывается либо значение скрыть, либо ничего не прописывается. В моем примере при открытии этого файла должны стать скрытыми столбцы 1 и 3 и строчки 2 и 4. Очевидно, что столбец 6 и строка 6 тоже скроются. Это нормально и не страшно, главное чтобы это не влияло на работу макроса. Заранее благодарю за помощь!MDesh
Sub p() For i = 2 To 6 Cells(i, 7).Select If Cells(i, 7) = "скрыть" Then Rows(i).Hidden = True End If Cells(7, i).Select If Cells(7, i) = "скрыть" Then Columns(i).Hidden = True End If Next Columns(7).Hidden = True Rows(7).Hidden = True End Sub
[/vba]
Как то так вроде. [vba]
Код
Sub p() For i = 2 To 6 Cells(i, 7).Select If Cells(i, 7) = "скрыть" Then Rows(i).Hidden = True End If Cells(7, i).Select If Cells(7, i) = "скрыть" Then Columns(i).Hidden = True End If Next Columns(7).Hidden = True Rows(7).Hidden = True End Sub
Sub Столбцы() Application.ScreenUpdating = False For i = 2 To 6 If Cells(7, i) <> "" Then Cells(i).EntireColumn.Hidden = True End If Next Application.ScreenUpdating = True End Sub
Sub Строки() Application.ScreenUpdating = False For i = 2 To 6 If Cells(i, 7) <> "" Then Rows(i).EntireRow.Hidden = True End If Next Application.ScreenUpdating = True End Sub
Sub Столбцы() Application.ScreenUpdating = False For i = 2 To 6 If Cells(7, i) <> "" Then Cells(i).EntireColumn.Hidden = True End If Next Application.ScreenUpdating = True End Sub
Sub Строки() Application.ScreenUpdating = False For i = 2 To 6 If Cells(i, 7) <> "" Then Rows(i).EntireRow.Hidden = True End If Next Application.ScreenUpdating = True End Sub