Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Помогите с Excel Добавлено: 04.03.08 11:19  

Автор вопроса:  Verd | ICQ: 276115817 
Всем добрый день,помогите,пожалуйста чайнику с Excel
Задача следующая :
Есть строка,в ячейках имена пользователей.Необходимо,чтобы пользователь видел только те столбцы,в которых написано его имя,остальные колонки должны быть скрыты

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Verd



ICQ: 276115817 

Вопросов: 3
Ответов: 11
 Профиль | | #1 Добавлено: 04.03.08 14:42
Сам разобрался,кому интересно,вот код :


For i = 1 To 10
r = i - 1
Range("A1";).Select
If ActiveCell.Offset(0, r).Text <> "" Then
Columns(i).Select
Selection.EntireColumn.Hidden = True
End If
Next

Ответить

Номер ответа: 2
Автор ответа:
 LonerWanderer



Вопросов: 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
Автор ответа:
 LonerWanderer



Вопросов: 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
Автор ответа:
 Verd



ICQ: 276115817 

Вопросов: 3
Ответов: 11
 Профиль | | #4 Добавлено: 04.03.08 16:19
Спасибо за участие,так действительно проще

Ответить

Номер ответа: 5
Автор ответа:
 LonerWanderer



Вопросов: 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 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам