2010-08-24 61 views

回答

5

取決於您希望如何選擇範圍。這只是一個單元格。如果您返回到J1並更改該值,則會收到提示。

Private Sub Worksheet_Change(ByVal Target As Range) 
    Range("J1").Select 
    Selection.Locked = True 
    ActiveSheet.Protect Contents:=True 
    Range("K1").Select 

End Sub 

在工作表受到保護之前單元格不會被鎖定。默認情況下,所有單元格都設置爲鎖定,因此您必須解鎖希望用戶可以更改的單元格。

+0

如果我想要做這項工作的響EOF細胞,我怎麼能that.Pardon我的知識的缺乏做,我是新來編程。 – gizgok 2010-08-24 19:59:02

+0

範圍(「A1:K47」) – JeffO 2010-08-25 01:19:24

+0

這使所有單元格只讀。在我犯了一些錯誤。 私人小組Worksheet_Change(cellrange作爲字符串) 範圍(cellrange)。選擇 Selection.Locked =真 個ActiveSheet.Protect內容:=真 結束小組 – gizgok 2010-08-25 11:08:45

0

This page提供了一個小的子保護一系列細胞。

摘錄

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Not Intersect(Target, Range("H1:H10")) Is Nothing Then 
     Target.Offset(0, 1).Select 
     MsgBox "you may not enter that cell" 
    End If 
End Sub 

爲了保護H1:H10。 當用戶想要更改H1:H10中的單元格時,會出現一條警告消息,指出單元格可能未被修改,而是選擇下一列中的鄰居單元格(I)。

+0

相當肯定,這是不是一個合適的回答 – titus 2016-09-21 08:17:31

0

在excel中,您可以轉到「保護」菜單並指定哪些單元需要修改密碼。您也可以指定多個範圍。

希望這是你正在尋找。

1

您可以嘗試保護細胞。或者您可以使用SelectionChange手柄事件自行編碼...:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
     If Not Intersect(Selection, Range("A24:A50")) Is Nothing Then 
     Range("B1").Select 
     End If 
    End Sub 
4

在這些情況下,我經常發現最好的辦法是鎖定工作表,但僅限於使用UserInterfaceOnly參數的用戶,該參數仍允許與工作表進行無限制的編程交互。

ActiveSheet.ProtectUser InterfaceOnly:=True 

有跡象表明,可以設置各種其他參數,將仍允許用戶進行篩選,排序等,這應該是必需的幫助文件有一個完整的清單。

相關問題