Notifications
Clear all

Impedir de excluir planilha

5 Posts
1 Usuários
0 Reactions
601 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Caros,

Tenho um arquivo com várias planilhas, porém gostaria de uma macro que impedisse que determinada planilha posse excluída.
Por exemplo: Um arquivo com Plan1, Plan2 e Plan3, ao tentar excluir a Plan1 desse uma mensagem que não é possível excluir esta planilha.

Obrigado!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/03/2013 11:53 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Veja se vai dar certo, não foi testado.

Insira dentro do modulo de pasta de trabalho

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim sht As Worksheet: Set sht = Sh
    If sht.Name = "Plan1" Then
        SetDeleteOption (False)
    End If
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    Dim sht As Worksheet: Set sht = Sh
    If sht.Name = "Plan1" Then
        SetDeleteOption (True)
    End If
End Sub
Private Sub SetDeleteOption(ByVal AllowDelete As Boolean)
    Dim CommBarTmp, Commbar As CommandBar
    For Each Commbar In Application.CommandBars
        Set CommBarTmp = Commbar.FindControl(ID:=847, recursive:=True)
        If Not CommBarTmp Is Nothing Then CommBarTmp.Enabled = AllowDelete
    Next
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/03/2013 5:35 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Obrigado pela ajuda!

Testei mas não funcionou.
Agora pensando melhor, gostaria de ter as opções:
1. Impedir que uma determinada plan não fosse possível excluir (ex. plan1)
2. Impedir que nenhuma plan do arquivo pudesse ser excluida, mas que pudesse ser adicionada novas.

Grato
Salvir

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/03/2013 6:57 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Dentro do modulo de planilha coloque o código

Private Sub Worksheet_Activate()
    ThisWorkbook.Protect "SuaSenha"
End Sub

Private Sub Worksheet_Deactivate()
    ThisWorkbook.Unprotect "SuaSenha"
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/03/2013 5:11 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Obrigado pela ajuda, mas não funcionou da forma que preciso.
O que preciso é que não seja possível excluir as planilhas existentes no arquivo, mas que possa ser incluída novas planilhas e que não tenha acesso a senha, pq quem vai usar só pode inserir.

Grato,
Salvir

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 24/03/2013 7:56 pm