Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Proteger Planilha

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
Ir à página : 1, 2  Seguinte
AutorMensagem
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Proteger Planilha    Sab Set 27, 2014 2:49 am

Olá, boa noite.

Estou chegando agora ao forum e preciso de uma ajuda. Tenho uma planilha que é publica para que sejam inseridas informações, porem as informações não podem ser deletadas.

Tem como colocar uma proteção onde o usuário possa inserir informações, uma vez salvo, só com senha pra deletar.

Desde já agradeço pela ajuda.

Att

Jose Rogowski
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Sab Set 27, 2014 4:20 am

Boa noite!!

Veja se ajuda....
http://www.aprenderexcel.com.br/2013/tutoriais/como-salvar-uma-planilha-do-excel-como-somente-leitura

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Sab Set 27, 2014 11:28 pm

Obrigado pela resposta Alexandrevba, más na verdadeo que eu preciso é o seguinte: Os usuarios podem inserir informações na planilha, porem uma vez salva, só um administrador pode deletar as informações.

Ou seja, todos podem inserir dados, más só eu posso apagar informações salvas na planilha.

Existe essa opção no excel?
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 12:15 am

Boa tarde!!

Use um evento, que quando for digitado, após tentar alterar, solicitará a senha....

Favor adaptar!!
Código:
   
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim NewValue As Variant, OldValue As Variant
        If Target.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("A1:F10")) Is Nothing Then
            NewValue = Target.Value
            Application.EnableEvents = False
            Application.Undo
            OldValue = Target.Value
            If OldValue = "" Then
                Target.Value = NewValue
            ElseIf InputBox("enter password") = "SuaSenha" Then
                Target.Value = NewValue
            Else: MsgBox "Você não pode alterar o conteudo da celula.", 16, "Células Bloqueadas"
                Target.Value = OldValue
            End If
            Application.EnableEvents = True
        End If
    End Sub


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Duvida   Dom Set 28, 2014 12:17 am

Não sou muito bom em excel. Pra fazer faço o procedimento alt F11, colo o codigo e salvo... é por ai?
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 12:20 am

Boa noite!!

Insira esse código dentro do módulo de planilha.

Leia:
http://www.ambienteoffice.com.br/officevba/modulos_em_vba/


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 12:35 am

Colei o código porem não aparece quando vou visualizar macros, e quando dei o F8.

O que estou fazendo errado?

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 12:37 am

Boa noite!!

Mande o seu arquivo modelo, poste em site gratuito como sedspace, depois cole o link aqui!


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 12:52 am

No arquivo ''Solicitações de Serviços'' os usuarios irão inserir informações, porem so eu poderei deletá-las

Duvidas estarei a disposição o tempo todo, online. (sendspace.com/file/81ioqp)

Esta aparecendo uma mensagem que eu nao tenho acesso para postar link, por isso mandei assim, entre parenteses
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 1:17 am

Boa noite!!

Você não disse qual intervalo deve ser protegido, com eu tive que adivinhar, então faça a adaptação!

A senha é: alevba

https://www.sendspace.com/file/m7xeg3
Obs: Para qualquer código em VBA ou Macro funcionar as macros devem está habilitadas!!

Com habilitar Macros:
http://office.microsoft.com/pt-br/powerpoint-help/habilitar-ou-desabilitar-macros-nos-documentos-do-office-HA010031071.aspx
http://office.microsoft.com/pt-br/excel-help/habilitar-ou-desabilitar-macros-em-arquivos-do-office-HA010354316.aspx
https://br.answers.yahoo.com/question/index?qid=20090908094416AAoiB4l
http://blog.planilhasexcel.com/2008/08/como-habilitar-macros.html

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 1:31 am

Cara, muito obrigado, exatamente isso.


Agora a ultima pergunta, para adaptar o intervalo, como eu faço? e se eu quiser mudar a senha, como faço.

Más ate agora valeu, muito obrigado


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 1:44 am

Boa noite!!

Para mudar o intervalo:
Código:
If Not Intersect(Target, Range("A1:F10")) Is Nothing Then
Onde tem "A1:F10", altere conforme sua necessidade.

Para alterar a senha:
Código:
ElseIf InputBox("enter password") = "alevba" Then
, Onde tem alevba, altere conforme sua necessidade.

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 1:52 am

Muito obrigado novamente.

Sou muito grato pela ajuda

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Dom Set 28, 2014 1:58 am

Boa noite!!

Eu fico feliz em ajudar, obrigado pelo retorno!!


Att cheers
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Seg Set 29, 2014 8:20 pm

Boa tarde alexandrevba,

Uma informação e uma juda.

Fiz um teste na planilha, com a macro a gente não consegue apagar por celula, más se selecionarmos várias celulas eu consigo apagar.

Existe alguma ação para evitar isso?

Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Seg Set 29, 2014 10:30 pm

Boa tarde!!

Em teoria todo intervalo que for referenciado via VBA
Código:
If Not Intersect(Target, Range("A1:F10")) Is Nothing Then
, deverá ser afetado pelo código!


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Seg Set 29, 2014 10:37 pm

Se eu selecionar uma unica celula bloqueia, se eu selecionar várias celulas ao mesmo tempo estou conseguindo deletar sem necessidade de senha.

O código da planilha esta igual ao que voce passou agora.

If Not Intersect(Target, Range("B6:EP18240")) Is Nothing Then

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Seg Set 29, 2014 11:17 pm

Boa tarde!!

Você pode postar um arquivo modelo?

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Ter Set 30, 2014 12:35 am

Segue olink para a planilha modelo.

Eu não consigo postar link, mudei o endereço (sendspace.com/file/t8hi36)


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Seg Out 06, 2014 2:03 pm

Bom dia!!

Tente...
Código:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim NewValue As Variant, OldValue As Variant
    Dim lRow As Long
    Dim lCol As Long
    Dim bNoData As Boolean
    If Not Intersect(Target, Range("B6:EP18240")) Is Nothing Then
        NewValue = Target.Value
        Application.EnableEvents = False
        Application.Undo
        OldValue = Target.Value
        If IsArray(NewValue) Then
            bNoData = True
            For lRow = 1 To UBound(NewValue, 1)
                For lCol = 1 To UBound(NewValue, 2)
                    If NewValue(lRow, lCol) <> "" Then
                        bNoData = False
                        Exit For
                    End If
                Next
            Next
            If bNoData Then
                If InputBox("Digite a senha") = "1" Then
                    Target.Value = NewValue
                Else: MsgBox "Você não pode alterar o conteudo da celula.", 16, "Células Bloqueadas"
                    Target.Value = OldValue
                End If
            Else
                Target.Value = NewValue
            End If
        Else
            If OldValue = "" Then
                Target.Value = NewValue
            ElseIf InputBox("Digite a senha") = "1" Then
                Target.Value = NewValue
            Else: MsgBox "Você não pode alterar o conteudo da celula.", 16, "Células Bloqueadas"
                Target.Value = OldValue
            End If
        End If
    End If
    Application.EnableEvents = True
End Sub

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Proteger Planilha   Ter Out 07, 2014 2:10 am

Muito obrigado alexandrevba, esta funcionando ok.


Valeu mesmo, muito agradecido.

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Ter Out 07, 2014 4:36 pm

Bom dia!!

Eu fico feliz que conseguiu resolver, at+++ cheers


Mande sua dúvida no fórum.

Você quer que solicite a senha ao tentar salvar o arquivo?

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Re: Proteger Planilha    Qui Out 09, 2014 1:00 am

na verdade o que eu quero é que: Após inserido algo na celula o usuario possa alterar sem necessidade de senha, porem depois que ele salvar as informações inseridas ele não consiga mais alterar.

Att

Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Proteger Planilha    Sex Out 10, 2014 11:00 pm

Boa tarde!!

Seria isso?

Esse código deve ser posto dentro de Estapasta_de_trabalho
Código:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim Cell As Range
    With ActiveSheet
        .Unprotect Password:="AleVBA" 'Senha apra desproteger o arquivo
        .Cells.Locked = False
        For Each Cell In ActiveSheet.UsedRange
            If Cell.Value = "" Then
                Cell.Locked = False
            Else
                Cell.Locked = True
            End If
        Next Cell
        .Protect Password:="AleVBA" 'Senha apra desproteger o arquivo
    End With
End Sub

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
jrogowski



Mensagens : 23
Data de inscrição : 27/09/2014

MensagemAssunto: Proteger planilha   Sab Out 11, 2014 12:32 am

Inseri o código e aparece esse erro:

Cell.Locked = True ( Essa linha fica marcada em amarelo )

To fazendo alguma errada?

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Proteger Planilha    Hoje à(s) 8:22 pm

Voltar ao Topo Ir em baixo
 
Proteger Planilha
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 2Ir à página : 1, 2  Seguinte
 Tópicos similares
-
» Cuidados a ter para melhor proteger o seu veículo dos elementos
» Como Proteger o Fórum de Plágio
» Proteger meu forum?
» Como proteger links e emails
» Como proteger o forum ?

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Usuários Básico :: Excel Básico-
Ir para: