Permitindo que os usuários mostrem (formatem) apenas colunas escolhidas

5

TL; DR, o que eu quero alcançar:

  • Ocultar algumas colunas que eu não quero mostrar para ninguém (confira)
  • Ocultar algumas colunas que quero mostrar apenas para alguns usuários (marque)
  • Defina senhas separadas para os dois grupos de colunas (uma que eu não divulgaria e a outra que divulgaria para usuários selecionados) (desmarque)

Mas o problema é que:

  • Se eu marcar "Permitir que todos os usuários formatem colunas" no nível de proteção da planilha inteira, TODAS as colunas poderão ser exibidas por qualquer pessoa
  • Se eu definir senha para intervalo ("permitir usuários para intervalos de edição"), enquanto "permitir que todos os usuários formatem colunas" seja desmarcada, nenhuma coluna poderá ser exibida sem saber a senha superior (que também protege as colunas que eu faço não quer mostrar para ninguém)

Notícia completa:

Eu tenho um arquivo excel que gostaria de compartilhar. Há certas colunas ocultas, que não quero que ninguém mostre. Mas, por outro lado, há duas colunas que eu gostaria de ser protegidas de uma forma que alguns usuários podem ver (reexibir).

Eu procurei proteger as planilhas, dando aos usuários acesso a intervalos, etc., mas não consegui encontrar uma solução para ocultar / ocultar a coluna.

Eu tentei esconder todas as colunas (aquelas que eu quero perma-hidden e aquelas que eu quero que sejam exibidas por alguns usuários) e definir uma senha para a edição da folha. Então, imaginei que definiria uma senha separada para os intervalos de edição (e selecionei as colunas desejadas). Mas ainda assim, não é possível mostrar o intervalo separado (consistindo de colunas que eu quero mostrar para alguns usuários, dando-lhes uma senha para esse intervalo específico).

Então, tentei implementar algo no nível da planilha inteira e descobri que existe o atributo "Permitir todos os usuários .." - > "Formatando colunas". Mas, então, todos os usuários poderão mostrar TODAS as colunas (e eu só quero que eles sejam capazes de mostrar as colunas que eu escolhi).

BTW, eu uso o Excel 2007.

    
por xchru 15.01.2014 / 15:31

2 respostas

2

Eu colocaria as células escondidas em outra planilha e a protegeria via VBA, como:

Sheets("sheet4").Visible = xlVeryHidden ou

Worksheets("sheet1").protect "Password", UserInterfaceOnly:=True ou

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

Ou outros métodos. xlveryhidden é um bom lugar para começar, então bloqueie a interface do usuário e acesso ao VBA

    
por 15.01.2014 / 15:45
0

Eu tive um problema semelhante e usei o agrupamento de dados para separar linhas agrupadas (que permiti que o usuário expandisse) e linhas ocultas (que não podiam ser exibidas). Proteger uma folha sem permitir a formatação do usuário resulta em linhas ocultas que não podem ser exibidas. A expansão dos agrupamentos de colunas foi permitida pelo seguinte código:

Dim wSheet as Worksheet

For Each wSheet In ThisWorkbook.Worksheets
      wSheet.Protect Password:="Password", UserInterFaceOnly:=True
      wSheet.EnableOutlining = True
Next
    
por 31.10.2014 / 22:58