Mam chroniony arkusz z poniższymi opcjami, a ta arkusz zawiera kilka ukrytych wierszy / kolumn.

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

I używam tego kodu do blokowania arkuszy, ale chcę zezwolić użytkownikom również kopiować tylko widoczne komórki (przy użyciu Alt +; na przykład).

Widziałem witrynę Microsoft z dokumentacją (już opublikowaną przez @mech), ale przetestowałem opcje i nie działa oprócz opcji Spis treści: = False, ale ta opcja ustawiona na False umożliwia użytkownikowi kopiowanie tylko widocznych komórek Edytuj zawartość komórki (które nie chcę się wydarzyć).

Czy ktoś zna inny sposób?

Z góry dziękuję!

1
Danilo Perl 18 marzec 2020, 18:32

1 odpowiedź

Najlepsza odpowiedź

Kodeks powinien wykonać to, czego szukasz w oparciu o nieprzemyślne komórki do celów kopiowania.

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

SRC: HTTPS: / /www.mrexcel.com/board/threads/copy-only-Vidible-cells-on-Protected-Sheet -book.412461/.

2
Mech 18 marzec 2020, 16:05