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

[RESOLVIDO] Proteger Planilha ao Fechar

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

[RESOLVIDO] Proteger Planilha ao Fechar

Mensagem por cy_rangel »

Caros,

Boa-tarde.

Gostaria de saber se existe alguma forma de bloquear várias Sheets ao fechar o excel?

Porém, preciso que a pessoa consiga selecionar as células bloqueadas e não bloqueadas e utilizar o filtro nas plans.


Desde já agradeço,

Att,
Cy Rangel.
Editado pela última vez por cy_rangel em Sáb Mai 23, 2020 3:30 am, em um total de 1 vez.


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
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Proteger Planilha ao Fechar

Mensagem por Mikel Silveira Fraga »

A quanto tempo Rangel, tudo bem?

Cara, veja se esse código irá lhe ajudar:
- Proteger:

Código: Selecionar todos

    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True, Password:="senha"
- Desproteger:

Código: Selecionar todos

    ActiveSheet.Unprotect Password:="senha"
No código de proteção, o que permite a realização do Filtro na Planilha é o comando AllowFiltering, mesmo estando no processo de proteção.

Demais comando, permitem a seleção de células bloqueadas e desbloqueadas.

Teste esses recursos e nos retorne.

Forte abraço e excelente final de semana.


Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

Re: Proteger Planilha ao Fechar

Mensagem por cy_rangel »

Bom-dia Mikel,

Pois é, quanto tempo, rsrsrs...

Desde já, muito obrigada pela ajuda :)

Era exatamente isso que eu precisava, mas a vba só funciona na plan selecionada.

Exemplo: Se eu estiver na sheet1 e salvar, a sheet2 e ou a sheet3 não funionam, a menos que eu entre alguma dessas sheets, salve e feche... ai funciona.

Precisava que as 3 sheets que possuo bloqueassem sempre ao fechar e ficassem assim até que eu mesma inseri-se o código para desbloquear e ao fechar a plan não preciso me preocupar em lembrar de bloquear cada sheet.

Será que teria como fazer isso :/ ???


Obg...

Bjs...

Cy Rangel.


jamesgleason
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Ter Jun 26, 2018 3:08 am

Re: Proteger Planilha ao Fechar

Mensagem por jamesgleason »

That's exactly what I needed, but the vba only works on the selected plan, unless I enter some of those sheets, save and close.


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
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Proteger Planilha ao Fechar

Mensagem por Reinaldo »

Pode experimentar, cole a rotina abaixo em seu modulo:

Código: Selecionar todos

Sub Proteger()
Dim varSheet As Variant, NN As Variant
 Application.ScreenUpdating = False

    For Each varSheet In Sheets
        NN = varSheet.Name
        Worksheets(NN).Activate
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        ActiveSheet.EnableSelection = xlUnlockedCells
        ActiveSheet.Protect Password:="SuaSenha"
    Next
 Application.ScreenUpdating = True
End Sub
Nomodulo ThisWorkbook acrescente

Código: Selecionar todos

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Proteger
End Sub


Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

Re: Proteger Planilha ao Fechar

Mensagem por cy_rangel »

Olá Reinaldo, tudo bem?

Obrigada pelo retorno :)

Eu apliquei o código conforme as suas instruções, ele funcionou, porém quando a plan está bloqueada ele não deixa eu selecionar as células ou fazer um filtro.

Teria como ajustar isso? :roll:

Segue anexo o print da minha tela.

Desde já, muito obrigada.

Att,
Cy Rangel.
Anexos
Proteger Plan - VBA
Proteger Plan - VBA
VBA - Proteger Plan.png (53.96 KiB) Exibido 6471 vezes


Avatar do usuário
Mikel Silveira Fraga
Jedi
Jedi
Mensagens: 1173
Registrado em: Sex Mai 27, 2011 3:27 pm
Localização: Governador Valadares - MG
Contato:

Re: Proteger Planilha ao Fechar

Mensagem por Mikel Silveira Fraga »

Cy, boa tarde.

Pega a estrutura de código passado pelo Reinaldo, e adapta o que passei pra ti antes, da seguinte forma:
- Parte do código do Reinaldo:

Código: Selecionar todos

        NN = varSheet.Name
        Worksheets(NN).Activate
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        ActiveSheet.EnableSelection = xlUnlockedCells
        ActiveSheet.Protect Password:="SuaSenha"
- Substitui por esse código:

Código: Selecionar todos

  	NN = varSheet.Name
        Worksheets(NN).Activate
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True, Password:="senha"
Teste e nos retorne o resultado.


Avatar do usuário
cy_rangel
Colaborador
Colaborador
Mensagens: 88
Registrado em: Sex Set 04, 2015 8:32 pm

Re: Proteger Planilha ao Fechar

Mensagem por cy_rangel »

Estou revisitando alguns posts que estão sem o meu retorno e encerrando após testar a solução... Funcionou perfeitamente. Obg 😉.


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