Запретить выбор или копирование скрытых ячеек в Excel - PullRequest
0 голосов
/ 27 ноября 2018

Я разрабатываю электронные таблицы для других пользователей, в которых есть несколько столбцов, которые я не хочу, чтобы пользователь видел.Поэтому я скрываю их и закрываю электронную таблицу.Причина, по которой я их скрываю, а не удаляю, - для дальнейшего развития.Тем не менее, я считаю, что пользователь может выбрать больший диапазон скрытых ячеек, скопировать и вставить, чтобы получить скрытую информацию.Могу ли я в любом случае запретить пользователю делать это?Методы, которые я могу искать в Интернете, все о том, как выбирать только видимые ячейки, но не заставлять их делать это и не давать им получать скрытую информацию.Может ли кто-нибудь помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Используйте следующий код и попробуйте.

Range("A1:A20").SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Range("A25").Select
ActiveSheet.Paste

Вы можете выбрать только видимые ячейки для копирования, используя этот метод.

0 голосов
/ 27 ноября 2018

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

Например, если столбцы D:F скрыты,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Me.Columns("D:F")) Is Nothing Then
        MsgBox "Your selection includes hidden column(s). BAD!", vbCritical
        Me.Range("A1").Select
    End If
End Sub

Этот код входит в модуль кода рабочего листа.

...