Excel VBA – 取消保护单元格select工作表(单击,不双击)
我试图在Excel 2010中创build一个macros,当单击(而不是双击)特定范围内的单元格时,将取消保护我的工作表,相反,如果单击其他任何地方,我想保护我的工作表。
对不起,我不是VBA专家。
我想出了这个代码:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("E9:E22,I9:I21,N9:N20,Q9:Q14")) Is Nothing Then ActiveSheet.Unprotect Password:="abc" ElseIf Intersect(Target, Range("E9:E22,I9:I21,N9:N20,Q9:Q14")) Is Nothing Then ActiveSheet.Protect _ Password:="abc", _ UserInterfaceOnly:=True, _ AllowFiltering:=True, _ AllowSorting:=True, _ AllowUsingPivotTables:=True End If End Sub
这个代码是完美的工作,当然,如果我双击单元格,但我想知道是否有任何方法使它的工作,如果我只select(单击)单元格?
我尝试使用ActiveCell
而不是Target
但没有成功。
非常感谢,Stefano
这是由于您正在使用BeforeDoubleClick
事件。 尝试使用Worksheet_SelectionChange
代替。