Tiago, na rotina que postou, a mesma está no Evento Change da Aba, então toda vez que alterar alguma celula as instruções abaixo farão o s eguinte :
1 ) - Sheets("Plan1").Unprotect Password:="SENHA" ' Senha da planilha - Desprotege a Aba
e depois :
2 ) - Sheets("Plan1").Protect Password:="SENHA" 'Senha da planilha - Protege novamente.
Para que se possa verificar se tem algum erro e modificar, precisa somente desabilitar a linha que protege em sua rotina, não precisa apagar sua rotina.
Minha sugestão foi de colocar no Evento Before_Close do Workbook, assim a Planilha será Salva sempre que fechar o arquivo.
Sua explicação está um pouco confusa, primeiro você diz :
Eu preciso que depois que o usuário insira uma informação em algumas colunas que esta informação não possa ser apagada/alterada mais
e depois :
por isto eu queria que após inserir a informação que a célula não trave exatamente após o evento, mas sim que todas as células alteradas só travem depois que salvar a planilha e de forma automática
Se quer que a Proteção seja aplicada somente apos salvar a planilha, você pode adicionar a instrução abaixo no evento do Workbook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Plan1").Protect Password:="SENHA" 'Senha da planilha
Application.DisplayAlerts = False
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub
Assim, toda vez que salvar, a mesma será protegida.
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 20/01/2013 8:25 pm