Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FILTRO

Dúvidas gerais sobre Excel
emerson.feitosa
Colaborador
Colaborador
Mensagens: 46
Registrado em: Sex Jan 29, 2010 2:05 pm

Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FILTRO

Mensagem por emerson.feitosa »

Prezados membros bom dia!

Tenho uma macro bem simples que faz o seguinte..., ela simplesmente bloqueia a planilha tal qual ao código abaixo:

Sheets("Dados").Select
Range("b3").Select
ActiveSheet.Protect Password:="123"

No entanto o que acontece é que na primeira vez que vou colocar o código de bloqueio manual deixo setado para FORMATAR COLUNAS e UTILIZAR O AUTO-FILTRO.

Quando coloco um botão que faz o seguinte:

Desbloquear a planilha:
Sheets("Dados").Select
ActiveSheet.Unprotect Password:="123"

Com ela desbloqueada faço minhas atividades e depois a planilha deve ser bloqueada automatícamente com o código acima.

MAS, AO BLOQUEAR NOVAMENTE A PLANILHA ESSA NÃO ME DEIXA MAIS FORMATAR AS COLUNAS E NEM MESMO UTILIZAR O AUTO-FILTRO.

Tenho que desbloquear a planilha manualmente e setar essas opções na hora de bloquear novamente manual a planilha.

TERIA COMO FAZER ISSO NA PRÓPRIA MACRO QUE BLOQUEIA, OU SEJA QDO BLOQUEAR JÁ DEIXAR ESSAS OPÇÕES MARCADAS PARA QUE O USUÁRIO POSSA FORMATAR COLUNAS E UTILIZAR O AUTO-FILTRO?

Obrigado.

Att.
Emerson Feitosa


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FILTRO

Mensagem por webmaster »

Emerson,

O método protect tem um série de parâmetros que permitem configurar o que deseja:

Worksheet.Método Protect
Protege uma planilha contra modificação.
Sintaxe

expressão.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly, AllowFormattingCells, AllowFormattingColumns, AllowFormattingRows, AllowInsertingColumns, AllowInsertingRows, AllowInsertingHyperlinks, AllowDeletingColumns, AllowDeletingRows, AllowSorting, AllowFiltering, AllowUsingPivotTables)

Parâmetros

Password: Opcional, Variant, Uma seqüência de caracteres que especifica uma senha (com distinção entre maiúsculas e minúsculas) para a planilha ou pasta de trabalho. Se este argumento for omitido, você poderá desproteger a planilha ou pasta de trabalho sem usar uma senha. Caso contrário, será necessário especificar a senha para desproteger a planilha ou pasta de trabalho. Se você esquecer a senha, não poderá desproteger a planilha ou pasta de trabalho.
DrawingObjects: Opcional, Variant, True para proteger formas. O valor padrão é True.
Contents: Opcional, Variant, True para proteger o conteúdo. Em um gráfico, protege o gráfico inteiro. Em uma planilha, protege as células bloqueadas. O valor padrão é True.
Scenarios: Opcional, Variant, True para proteger cenários. Este argumento é válido somente para planilhas. O valor padrão é True.
UserInterfaceOnly: Opcional, Variant, True para proteger a interface do usuário, mas não macros. Se este argumento for omitido, a proteção será aplicada tanto a macros quanto à interface do usuário.
AllowFormattingCells: Opcional, Variant, True permite ao usuário formatar qualquer célula em uma planilha protegida. O valor padrão é False.
AllowFormattingColumns: Opcional, Variant, True permite ao usuário formatar qualquer coluna em uma planilha protegida. O valor padrão é False.
AllowFormattingRows: Opcional, Variant, True permite ao usuário formatar qualquer linha em uma planilha protegida. O valor padrão é False.
AllowInsertingColumns: Opcional, Variant, True permite ao usuário inserir colunas na planilha protegida. O valor padrão é False.
AllowInsertingRows: Opcional, Variant, True permite ao usuário inserir linhas na planilha protegida. O valor padrão é False.
AllowInsertingHyperlinks: Opcional, Variant, True permite ao usuário inserir hiperlinks na planilha protegida. O valor padrão é False.
AllowDeletingColumns: Opcional, Variant, True permite ao usuário excluir colunas na planilha protegida, na qual cada célula da coluna a ser excluída está desbloqueada. O valor padrão é False.
AllowDeletingRows: Opcional, Variant, True permite ao usuário excluir linhas na planilha protegida, na qual cada célula da linha a ser excluída está desbloqueada. O valor padrão é False.
AllowSorting: Opcional, Variant, True permite ao usuário classificar na planilha protegida. Cada célula no intervalo de classificação deve estar desbloqueada ou desprotegida. O valor padrão é False.
AllowFiltering: Opcional, Variant, True permite ao usuário definir filtros na planilha protegida. Os usuários podem alterar os critérios de filtro mas não podem habilitar ou desabilitar um filtro automático. Os usuários podem definir filtros em um filtro automático existente. O valor padrão é False.
AllowUsingPivotTables: Opcional, Variant, True permite ao usuário utilizar relatório de tabela dinâmica na planilha protegida. O valor padrão é False.


É só configurar.

Abraços


emerson.feitosa
Colaborador
Colaborador
Mensagens: 46
Registrado em: Sex Jan 29, 2010 2:05 pm

Re: Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FILTRO

Mensagem por emerson.feitosa »

Puxa amigo muito obrigado, fucionou perfeitamente.

Mais uma vez fico grato pela ajuda, são por razões como essas que esse fórum é literalmente o melhor para discução de assntos relacionados ao excel.

Abs.
Emerson


wagnerxp
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qua Dez 15, 2010 10:45 am

Re: Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FI

Mensagem por wagnerxp »

Muito valiosa essa dica.

Aproveitei.

Agradecido


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


wagnerxp
Acabou de chegar
Acabou de chegar
Mensagens: 2
Registrado em: Qua Dez 15, 2010 10:45 am

Re: Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FI

Mensagem por wagnerxp »

Pessoal,

Obtive um código que deixa usar a opção de Agrupamento e Desagrupamento em um planilha protegida, porém a planilha está compartilhada e quando eu vou abri-la, exibe esse erro "Erro em tempo de execução '1004'".

Você tem alguma idéia para resolver o caso?

Esse foi o código que eu usei:

Private Sub Workbook_Open()
With Worksheets("Plan1")
.Protect Password:="123", userinterfaceonly:=True
.EnableOutlining = True
End With
End Sub

Agradeço a atenção,


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FI

Mensagem por webmaster »

Wagner,

Se usar a planilha sem compartilhar, o erro persiste?

Abraços


Cristiano Olfer
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Sex Jul 20, 2012 10:39 am

Re: Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FI

Mensagem por Cristiano Olfer »

Bom dia sou novo no forum e tenho uma dúvida.

Tenho várias tabelas em planilhas diferentes e todas bloqueadas. Eu não consigo utilizar a função de classificar do filtro da planilha, aparece a mensagem que eu tenho que desprotegê-la antes, isso mesmo eu clicando em utilizar auto-filtro e classificar quando bloqueio a planilha. Já tentei no excel 2007 e 2010.

Tem algo diferente que posso fazer?

Aguardo e desde já agradeço, obrigado.


Nael M
Acabou de chegar
Acabou de chegar
Mensagens: 7
Registrado em: Ter Dez 30, 2014 4:41 am

Re: Bloquear Planilha PODENDO USAR OCULTAR COLUNAS e ALTO-FI

Mensagem por Nael M »

webmaster escreveu:Wagner,

Se usar a planilha sem compartilhar, o erro persiste?

Abraços
Tomas, estou com o mesmo problema do "wagnerxp", com a planilha compartilhada, mas se não estiver, ela funciona normal.

Código: Selecionar todos

Private Sub Worksheet_Change(ByVal Alvo As Range)

ActiveSheet.Unprotect Password:="0"
    
    Dim limite_maximo As Integer
        limite_maximo = 100
    
    If Alvo.Cells.Count > 1 Or IsEmpty(Alvo) Then Exit Sub
       
    If Alvo.Column = 4 And Alvo.Row >= 2 And Alvo.Row <= limite_maximo Then
       Application.EnableEvents = False
       Alvo.Offset(0, 1).Value = Application.UserName
       Application.EnableEvents = True
    End If

ActiveSheet.Protect Password:="0"

End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder