Inaktivera borttagningsalternativen du Microsoft Office Excel program med Visual Basic for Applications , eller VBA , kan skydda data i kalkylblad som inte bör ändras . Använd " Workbook_SheetBeforeRightClick " händelsen för att inaktivera " Radera " alternativet i menyraden . I VBA kan du också skydda kalkylbladet genom att inte tillåta användaren att ta bort innehåll med hjälp av " Delete " -tangenten på tangentbordet . Instruktioner
1
Launch Microsoft Office Excel , och typ " 1 " i " A1 ", " 2 " i " A2 ", " 3 " i " A3 ", " 4 " i " A4 " och " 5 " i " A5 ". Klicka på " Utvecklare " fliken , och klicka på " Visual Basic " för att starta VB Editor .
2
Dubbelklicka på " ThisWorkbook " från Project Explorer rutan för att öppna kodmodulen .
Billiga 3
Kopiera och klistra in följande kod för att avaktivera " Delete " på kalkylbladet :
Private Sub Workbook_SheetBeforeRightClick ( ByVal Sh As Object , ByVal Target As Range , Cancel As Boolean )
Dim cmdBCntrl Som CommandBar
Dim pos As Integer
On Error Resume Next
Sh.Protect UserInterFaceOnly : = Sant
Application . . . CommandBars ( " Cell " ) katalog
Pos = Controls ( " Delete ... " ) Index
Set cmdBCntrl = Controls.Add . ( Före : = pos , Temporary : = Sant )
. Controls ( " Delete ... " ) . Radera
End With
On Error GoTo 0
End Sub
4
Växla tillbaka till Microsoft Excel , och prova högerklicka på valfri cell . Menyn kommer inte inkludera " Radera " alternativet . Tryck på " Delete " -tangenten på ditt tangentbord och du får ett meddelande om att cellen är skyddad .