Дозволити користувачам показувати (форматувати) лише вибрані стовпці


5

TL; DR, чого я хочу досягти:

  • Сховати колонки, які я не хочу нікому показувати (перевірити)
  • Сховати колонки, які я хочу показати лише деяким користувачам (перевірити)
  • Встановіть окремі паролі для обох груп стовпців (один я б не розголошував, а інший я розкривав би вибраним користувачам) (зніміть прапорці)

Але проблема полягає в тому, що:

  • Якщо я встановив прапорець "Дозволити всім користувачам форматувати стовпці" на рівні захисту цілого аркуша, ВСІ стовпці можуть бути невідомі
  • Якщо я встановив пароль для діапазону ("дозволити користувачам редагувати діапазони"), а "дозволити всім користувачам форматувати стовпці" не встановлено прапорці, жоден стовпець не може бути розкрито, не знаючи верхнього пароля (що захищає також стовпці, які я не хочу показати будь-кому)

Повна історія:

У мене є файл excel, яким я хотів би поділитися. Є певні приховані стовпчики, які я не хочу, щоб хтось приховував. Але з іншого боку, є 2 стовпчики, які я хотів би захистити таким чином, щоб деякі користувачі могли їх переглядати (приховувати).

Я заглибився у захисні аркуші, надаючи користувачам доступ до діапазонів тощо, але мені не вдається знайти рішення для приховування / приховування стовпців.

Я спробував приховати всі стовпці (ті, які я хочу приховати перманою, і ті, які я хочу, щоб деякі користувачі не перекривали) та встановив пароль для редагування аркушів. Потім я подумав, що встановлю окремий пароль для редагування діапазонів (і вибрав потрібні стовпці). Але все-таки не можна приховати окремий діапазон (що складається з стовпців, які я хочу показати деяким користувачам, даючи їм пароль саме для цього діапазону).

Тому я спробував щось реалізувати на рівні цілого аркуша і з’ясував, що є атрибут "Дозволити всім користувачам .." -> "Форматування стовпців". Але тоді всі користувачі зможуть приховати ВСІ стовпці (і я хочу лише, щоб вони могли не приховувати вибрані стовпці).

До речі, я використовую Excel 2007.


1
Я б запропонував перемістити ці стовпці, які ви хочете від усіх заховати, на окремий аркуш, який ви захищаєте та ховаєте. При необхідності ви можете легко посилатись на клітинки на іншому аркуші.
Даніель

Відповіді:


2

Я розміщую приховані комірки на іншому аркуші і захищаю їх через VBA, наприклад:

Sheets("sheet4").Visible = xlVeryHidden або

Worksheets("sheet1").protect "Password", UserInterfaceOnly:=True або

ActiveSheet.protect "Password", AllowFormattingRows:=True, AllowFormattingColumns:=True

Або іншими методами. xlveryhiddenце гарне місце для початку, а потім заблокувати інтерфейс користувача та отримати доступ до VBA


0

У мене була подібна проблема і я використовував групування даних для розділення згрупованих рядків (що я дозволяв користувачеві розширюватися) та прихованих рядків (які не можна було розкрити). Захист аркуша, не дозволяючи користувачеві форматувати, призводить до прихованих рядків, які неможливо розкрити. Розширення групувань стовпців було дозволено за допомогою наступного коду:

Dim wSheet as Worksheet

For Each wSheet In ThisWorkbook.Worksheets
      wSheet.Protect Password:="Password", UserInterFaceOnly:=True
      wSheet.EnableOutlining = True
Next
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.