根据这个需求,这种动态锁定的功能只能用VBA实现了。
谢谢采纳,代码如下参考,贴到sheet1(基础信息里)
Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("基础信息").Select
If Cells(5, 6) = "第一季度" Then
Sheets("基建投资").Select
ActiveSheet.Unprotect
ActiveSheet.Cells.Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveSheet.Columns("L:N").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ElseIf Cells(5, 6) = "第二季度" Then
Sheets("信息投资").Select
ActiveSheet.Unprotect
ActiveSheet.Cells.Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveSheet.Range("K:K,M:N").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ElseIf Cells(5, 6) = "第三季度" Then
Sheets("生产设备").Select
ActiveSheet.Unprotect
ActiveSheet.Cells.Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveSheet.Range("K:L,N:N").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ElseIf Cells(5, 6) = "第四季度" Then
Sheets("办公设备").Select
ActiveSheet.Unprotect
ActiveSheet.Cells.Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveSheet.Range("K:M").Select
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
直接给选中的表格,设置禁止修改数据。
我也想知道<(`^´)>