2017-04-13 31 views
0

我一直停留天以下幾點:Excel的VBA - 過濾數據被鎖定,密碼

我想在特定行的密碼鎖的數據之後,還可以使用過濾器在這個數據上。

enter image description here

這是我走到這一步,但由於某種原因,這是行不通的。

任何輸入將非常歡迎!

If logbook.Cells(row_index, 1) <> "" Then 
    ActiveSheet.Unprotect password:="mypassword" 
    logbook.Cells(row_index, 11).Value = "YES" 
    logbook.Cells(row_index, 1).EntireRow.Locked = True 
    ActiveSheet.Protect password:="mypassword", AllowFiltering:=True   
Else 
    Unload Me 
End If 
+0

'AllowSorting:= True,AllowFiltering:= True'將這些添加到'ActiveSheet.Protect'以啓用排序和過濾。 – Luuklag

回答

0

如果您需要更改通過VBA的數據,你不需要取消保護。

只需使用UserInterfaceOnly:= True,並通過使用AllowFiltering:= True,您仍然可以過濾數據。像這樣:

ActiveSheet.Protect Password:="mypassword", AllowFiltering:=True, UserInterfaceOnly:=True 
0

不知道如果我完全理解你的問題,但這個工程:

Sub Test() 

    'worksheet is protected 
    'read only operations 

    Sheets("tbl").Select 
    ActiveSheet.Unprotect Password:="mypassword" 

    'changes to worksheet 

    Sheets("Tabelle1").Select 
    ActiveSheet.Protect Password:="mypassword" 

End Sub 
+0

當工作表完全受保護時,我無法過濾數據。所以我需要找到一種方法來保護工作表,同時允許用戶過濾數據。 –

+0

據我所知,被保護的紙張不能改變。要麼讀出你需要的數據並在其他地方操作,要麼提升數據操作的保護。 –