方案一:
Sub bbb() Dim x& On Error Resume Next x = UsedRange.SpecialCells(3).Count Me.Unprotect If Err.Number <> 0 Then Cells.Locked = True Err.Clear Else Cells.Locked = False UsedRange.SpecialCells(3).Locked = True End If Me.Protect On Error GoTo 0 End Sub
这样?? 代码放到Sheet1里
上面主程序放在sheet中行,但是放在通用宏里就不行,也就是录制宏代码出现的地方说me不对。(注:自己也还没弄明白这段的意思及用法)
方案二:
Sub bbb() Dim x& On Error Resume Next With ThisWorkbook.ActiveSheet .Unprotect x = .UsedRange.SpecialCells(3).Count If Err.Number <> 0 Then .Cells.Locked = True Err.Clear Else .Cells.Locked = False .UsedRange.SpecialCells(3).Locked = True End If .Protect End With On Error GoTo 0 End Sub
|