2016-07-21 18 views
0

Brauchen Sie Ihre Hilfe schlechtLöschen und schützen Arbeitsmappe

Ich habe Code, der "Schaltfläche" zugewiesen ist, um das aktuelle Blatt zu löschen. Blatt und Arbeitsmappe sind passwortgeschützt. Ich bin in der Lage, die Schaltfläche zu verwenden, um das Blatt zu löschen, aber das Problem, das die Arbeitsmappe nicht zurück schützt. Bitte vorschlagen.

Sub Deletetab() 
    Application.DisplayAlerts = False 
    If MsgBox("Deleting Current Sheet, Data entered on this sheet will be lost", vbOKCancel) = vbOK Then 
      ThisWorkbook.Unprotect Password:="xyz" 
      Application.DisplayAlerts = False 
      ActiveWindow.SelectedSheets.Delete 
      ThisWorkbook.Protect Password:="xyz" 
      Application.DisplayAlerts = True 
      Else: Exit Sub 
    End If 
    Application.DisplayAlerts = True 
    ThisWorkbook.Protect Password:="xyz" 
    End Sub 

Bitte helfen Sie.

+0

https://msdn.microsoft.com/en-us/library/office/ff193800.aspx –

+0

etwas probieren wie folgt 'ActiveWorkbook.Protect Structure: = True, Windows: = False, Passwort: =" xyz " – skkakkar

Antwort

0

Sie haben ThisWorkbook.Protect Password:="xyz" zweimal in Ihrem Code.

Bitte versuchen Sie den geänderten Code unter (getestet und lief ok auf meinem Excel):

Sub Deletetab() 

Application.DisplayAlerts = False 
If MsgBox("Deleting Current Sheet, Data entered on this sheet will be lost", vbOKCancel) = vbOK Then 
    ThisWorkbook.Unprotect Password:="xyz" 
    ActiveWindow.SelectedSheets.Delete 
    ThisWorkbook.Protect Password:="xyz" 
    Application.DisplayAlerts = True 
End If  
Application.DisplayAlerts = True 

End Sub 
+0

Danke für die Antwort !! Ich habe ActiveWorkbook.Protect anstelle von ThisWorkbook verwendet und das hat den Trick gemacht. Wenn ich die Arbeitsmappe jedoch für einige Zeit geöffnet halte (z. B. 10/15min), wird das Kennwort entsperrt. Ich weiß, es ist komisch, ich bin mir nicht sicher, ob wir hier eine Auszeit haben oder was Sie vorschlagen können. – sady

+0

@sady wo hast du diesen Code geschrieben? Welches Modul? –

+0

Ich habe es auf einem Modul und ich habe diesen Code Button auf dem Blatt zugewiesen. Ab jetzt funktioniert der oben erwähnte Code einwandfrei. Aber mein Problem ist jetzt, wenn ich die Arbeitsmappe für einige Zeit (wie 10/15min) offen lasse, wird es das Workbook Password entsperren. Ich bin mir nicht sicher, wo ich falsch liege – sady