VBA Разрешить копировать только видимые ячейки в защитном листе - PullRequest
1 голос
/ 18 марта 2020

У меня есть защищенный лист с параметрами ниже, и этот лист содержит некоторые скрытые строки / столбцы.

        ThisWorkbook.Sheets(ws.Name).EnableOutlining = True
        ThisWorkbook.Sheets(ws.Name).Protect password, _
            AllowFormattingColumns:=True, _
            AllowFormattingRows:=True, _
            userInterfaceOnly:=True, _
            contents:=True, _
            AllowFormattingCells:=True

И я использую этот код для блокировки листов, но я хочу, чтобы пользователи также могли копировать только видимые ячеек (используя alt +; например).

Я видел веб-сайт Microsoft с документацией (уже опубликованной @Mech), но я протестировал опции, но ни одна из них не работала, кроме опции Contents: = False, но эта опция, установленная в False, позволяет пользователю копировать только видимые ячейки, редактировать содержимое ячеек (чего я не хочу, чтобы это происходило).

Кто-нибудь знает другой способ?

Спасибо за заранее!

1 Ответ

2 голосов
/ 18 марта 2020

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

ActiveSheet.Unprotect Password:="password"
Selection.SpecialCells(xlCellTypeVisible).Select
ActiveSheet.Protect Password:="password", DrawingObjects:=True, Contents:=True, Scenarios:=True

sr c: https://www.mrexcel.com/board/threads/copy-only-visible-cells-on-protected-sheet-book.412461/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...