| Proteger Planilha | |
|
|
|
Autor | Mensagem |
---|
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: Proteger Planilha Sáb 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 | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Proteger Planilha Sáb 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
| |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: Re: Proteger Planilha Sáb 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? | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: 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? | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: 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 | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: 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 | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: 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 | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: Re: Proteger Planilha Dom Set 28, 2014 1:52 am | |
| Muito obrigado novamente.
Sou muito grato pela ajuda
Att | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Proteger Planilha Dom Set 28, 2014 1:58 am | |
| Boa noite!! Eu fico feliz em ajudar, obrigado pelo retorno!! Att | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: 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?
| |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: 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 | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Proteger Planilha Seg Set 29, 2014 11:17 pm | |
| Boa tarde!!
Você pode postar um arquivo modelo?
Att | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: 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 | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: Proteger Planilha Ter Out 07, 2014 2:10 am | |
| Muito obrigado alexandrevba, esta funcionando ok.
Valeu mesmo, muito agradecido.
Att | |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Proteger Planilha Ter Out 07, 2014 4:36 pm | |
| Bom dia!! Eu fico feliz que conseguiu resolver, at+++ Mande sua dúvida no fórum. Você quer que solicite a senha ao tentar salvar o arquivo? Att | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: 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
| |
|
| |
alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
|
| |
jrogowski
Mensagens : 23 Data de inscrição : 27/09/2014
| Assunto: Proteger planilha Sáb 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 | |
|
| |
Conteúdo patrocinado
| Assunto: Re: Proteger Planilha | |
| |
|
| |
| Proteger Planilha | |
|