Страница: 1 |
Вопрос: Помогите с Excel | Добавлено: 04.03.08 11:19 |
Автор вопроса: ![]() |
Всем добрый день,помогите,пожалуйста чайнику с Excel
Задача следующая : Есть строка,в ячейках имена пользователей.Необходимо,чтобы пользователь видел только те столбцы,в которых написано его имя,остальные колонки должны быть скрыты |
Ответы | Всего ответов: 5 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: 276115817 Вопросов: 3 Ответов: 11 |
Профиль | Цитата | #1 | Добавлено: 04.03.08 14:42 |
Сам разобрался,кому интересно,вот код :
For i = 1 To 10 r = i - 1 Range("A1" ![]() If ActiveCell.Offset(0, r).Text <> "" Then Columns(i).Select Selection.EntireColumn.Hidden = True End If Next |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 18 Ответов: 66 |
Профиль | Цитата | #2 | Добавлено: 04.03.08 15:03 |
Можно проще:
For i = 1 To 10
If Cells(1, i).Value = "" Then Columns(i).Hidden = True Next i |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 18 Ответов: 66 |
Профиль | Цитата | #3 | Добавлено: 04.03.08 15:08 |
Поправка:
For i = 1 To 10
If Cells(1, i).Value <> "" Then Columns(i).Hidden = True Next i Тестировал на пустую ячейку и забыл изменить здесь. Кстати - по первоначальному условию правильно именно в 1-м вариант. Ну или во втором вместо "" забить "Вася" (имя пользователя) Ну когда будет предпросмотр и редактирование своих сообщений? Очень не хватает. |
Номер ответа: 4 Автор ответа: ![]() ![]() ICQ: 276115817 Вопросов: 3 Ответов: 11 |
Профиль | Цитата | #4 | Добавлено: 04.03.08 16:19 |
Спасибо за участие,так действительно проще |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 18 Ответов: 66 |
Профиль | Цитата | #5 | Добавлено: 04.03.08 16:38 |
А если книгу открывают разные пользователи, то при открытии другим пользователем столбцы от прежнего останутся скрытыми + скроются столбцы данного пользователя.
Чтобы этого избежать сначала все столбцы надо сделать видимыми. Для этого сразу после FOR нужно добавить: For i = 1 To 10 If Columns(i).Hidden = True Then Columns(i).Hidden = False If Cells(1, i).Value ..... |
Страница: 1 |
|