Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Скрыть колонку Есель без возможности открытия пользователем? - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Скрыть колонку Есель без возможности открытия пользователем?
Drac0 Дата: Вторник, 02.09.2014, 10:01 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день!

Делаю выгрузку в Ексель через ADO. На листе имеется колонка с технической информацией, которую видеть пользователю совсем нежелательно (он пугается от непонятных циферок и букв). Делать свойство Hidden = 1 не решает проблему, так как колонку можно открыть все равно либо раздвигая границы, либо раскрывая скрытые через меню. Подскажите, как можно решить проблему? Заранее спасибо.
 
Ответить
СообщениеДобрый день!

Делаю выгрузку в Ексель через ADO. На листе имеется колонка с технической информацией, которую видеть пользователю совсем нежелательно (он пугается от непонятных циферок и букв). Делать свойство Hidden = 1 не решает проблему, так как колонку можно открыть все равно либо раздвигая границы, либо раскрывая скрытые через меню. Подскажите, как можно решить проблему? Заранее спасибо.

Автор - Drac0
Дата добавления - 02.09.2014 в 10:01
Gustav Дата: Вторник, 02.09.2014, 10:39 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2843
Репутация: 1194 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Всё, что пришло в голову, это вот такой смешной способ. Открыть можно, но следующим вздохом всё опять закрывается:
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Columns("H").Hidden = False Then Columns("H").Hidden = True
End Sub
[/vba]
Т.е. пользователь будет пугаться, но не сильно :)

P.S. Это, конечно, только в том случае, если не устраивает стандартная защита листа.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Вторник, 02.09.2014, 10:44
 
Ответить
СообщениеВсё, что пришло в голову, это вот такой смешной способ. Открыть можно, но следующим вздохом всё опять закрывается:
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Columns("H").Hidden = False Then Columns("H").Hidden = True
End Sub
[/vba]
Т.е. пользователь будет пугаться, но не сильно :)

P.S. Это, конечно, только в том случае, если не устраивает стандартная защита листа.

Автор - Gustav
Дата добавления - 02.09.2014 в 10:39
Drac0 Дата: Вторник, 02.09.2014, 10:45 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
но не сильно

Точнее недолго :)
Но вдруг еще про какой-нибудь полтергейст слухи пойдут...

Тогда если с другого конца подойти к проблеме? Вынести колонку на другой лист и его уже скрыть. Но как связать эти две таблицы? Чтобы при изменении порядка строк в первой, он менялся аналогично и во второй? Это вообще возможно?


Сообщение отредактировал Drac0 - Вторник, 02.09.2014, 10:47
 
Ответить
Сообщение
но не сильно

Точнее недолго :)
Но вдруг еще про какой-нибудь полтергейст слухи пойдут...

Тогда если с другого конца подойти к проблеме? Вынести колонку на другой лист и его уже скрыть. Но как связать эти две таблицы? Чтобы при изменении порядка строк в первой, он менялся аналогично и во второй? Это вообще возможно?

Автор - Drac0
Дата добавления - 02.09.2014 в 10:45
RAN Дата: Вторник, 02.09.2014, 10:50 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Размер шрифта 1, цвет шрифта белый.
Формат ячеек ";;;".


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеРазмер шрифта 1, цвет шрифта белый.
Формат ячеек ";;;".

Автор - RAN
Дата добавления - 02.09.2014 в 10:50
Drac0 Дата: Вторник, 02.09.2014, 10:56 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Хм, а неплохой вариант. В купе с запретом редактирования формата вполне подходит. Спасибо )
 
Ответить
СообщениеХм, а неплохой вариант. В купе с запретом редактирования формата вполне подходит. Спасибо )

Автор - Drac0
Дата добавления - 02.09.2014 в 10:56
Gustav Дата: Вторник, 02.09.2014, 11:01 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2843
Репутация: 1194 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Вынести колонку на другой лист и его уже скрыть. Но как связать эти две таблицы?

Для связи нужен какой-то уникальный идентификатор, имеющийся в обеих таблицах. Естественно, такой, чтобы его не мог случайно разрушить пользователь. Но, скорее всего, эта прятаемая колонка и есть подобный идентификатор, возможно, для какой-то связи с внешним миром (с другой системой). И заводить еще один, видимый, явно не хочется...

Можно попробовать использовать для хранения комментарии к ячейкам, например, предыдущей колонки. Т.е. после вывода заполнить эти комментарии, а саму колонку, которцю сейчас прячем, удалить...

Еще можно попробовать использовать механизм имен, тот, что по Ctrl+F3. Т.е. содержимое ячеек скрываемой колонки писать не в комментарий, а делать его именем ячейки предыдцщей колонки...


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Вынести колонку на другой лист и его уже скрыть. Но как связать эти две таблицы?

Для связи нужен какой-то уникальный идентификатор, имеющийся в обеих таблицах. Естественно, такой, чтобы его не мог случайно разрушить пользователь. Но, скорее всего, эта прятаемая колонка и есть подобный идентификатор, возможно, для какой-то связи с внешним миром (с другой системой). И заводить еще один, видимый, явно не хочется...

Можно попробовать использовать для хранения комментарии к ячейкам, например, предыдущей колонки. Т.е. после вывода заполнить эти комментарии, а саму колонку, которцю сейчас прячем, удалить...

Еще можно попробовать использовать механизм имен, тот, что по Ctrl+F3. Т.е. содержимое ячеек скрываемой колонки писать не в комментарий, а делать его именем ячейки предыдцщей колонки...

Автор - Gustav
Дата добавления - 02.09.2014 в 11:01
Drac0 Дата: Вторник, 02.09.2014, 11:08 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
для какой-то связи с внешним миром (с другой системой). И заводить еще один, видимый, явно не хочется...

Именно.

Другие варианты не подходят, так как использовать шустрый и удобный COMSafeArray для сбора данных не получится. Большой минус. Остановлюсь на хитром формате.
 
Ответить
Сообщение
для какой-то связи с внешним миром (с другой системой). И заводить еще один, видимый, явно не хочется...

Именно.

Другие варианты не подходят, так как использовать шустрый и удобный COMSafeArray для сбора данных не получится. Большой минус. Остановлюсь на хитром формате.

Автор - Drac0
Дата добавления - 02.09.2014 в 11:08
Alex_ST Дата: Вторник, 02.09.2014, 11:58 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Columns("H").Hidden = False Then Columns("H").Hidden = True
End Sub
[/vba]

Ну зачем же тут If? Проще уж тупо:[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Columns("H").Hidden = True
End Sub
[/vba]
Формат ячеек ";;;"
Коварная штука. Во всём столбце ещё куда ни шло, а вот если какую-то ячейку на листе так "заныкать", то потом сам её фиг найдёшь когда понадобится :)
Но для скрывания идентификаторов достаточно удобно. Данные с таким форматом прекрасно видны в списке автофильтра, но не видны простому юзеру.
Только ещё на всякий случай я бы ещё и УФ туда добавил, красящий ячейку если злобный юзверг её очистил Delit'ом



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 02.09.2014, 12:01
 
Ответить
Сообщение
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Columns("H").Hidden = False Then Columns("H").Hidden = True
End Sub
[/vba]

Ну зачем же тут If? Проще уж тупо:[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Columns("H").Hidden = True
End Sub
[/vba]
Формат ячеек ";;;"
Коварная штука. Во всём столбце ещё куда ни шло, а вот если какую-то ячейку на листе так "заныкать", то потом сам её фиг найдёшь когда понадобится :)
Но для скрывания идентификаторов достаточно удобно. Данные с таким форматом прекрасно видны в списке автофильтра, но не видны простому юзеру.
Только ещё на всякий случай я бы ещё и УФ туда добавил, красящий ячейку если злобный юзверг её очистил Delit'ом

Автор - Alex_ST
Дата добавления - 02.09.2014 в 11:58
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!