高手入:EXCEL中锁定的问题,用宏解决
可以用VBA实现:
打开文档,按Alt+F11,双击你的工作表,在代码窗口黏贴下面的语句:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Address = "$A$1" ThenApplication.CutCopyMode = TrueEnd IfEnd Sub保存文档即可。A1就是你有数据有效性的单元格,这段代码,不影响其他单元格的复制黏贴操作。
祝你顺利
可能是你没有安装VBA 项目的数字证书的原因,在XPhome版的默认情况下是不安装VBA 项目的数字证书的,你可以在控制面板下更改office的安装,重新安装该证书,光盘里有的,装了再试试吧
下面的代码,分别为两个按钮的宏。
密码暂定为“123”。你可以自己改。
Dim IS_FIRST As Long
Option Explicit
Sub Macro1()
'
' Macro1 Macro
' Macro记録日 : 2012/6/6
' Button1 Event
'
Dim i As Long
If ActiveSheet.ProtectContents Then
ActiveSheet.Unprotect
End If
If IS_FIRST = 0 Then
Cells.Locked = False
Selection.FormulaHidden = False
For i = 1 To ActiveSheet.Protection.AllowEditRanges.Count
ActiveSheet.Protection.AllowEditRanges(i).Delete
Next i
End If
Range("A4:C10").Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protection.AllowEditRanges.Add Title:="范囲" & IS_FIRST, Range:=Range( _
"A4:C10"), Password:="123"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
IS_FIRST = IS_FIRST + 1
End Sub
Sub Macro2()
'
' Macro2 Macro
' Macro记録日 : 2012/6/6
' Button2 Event
'
Dim i As Long
If ActiveSheet.ProtectContents Then
ActiveSheet.Unprotect
End If
If IS_FIRST = 0 Then
Cells.Locked = False
Selection.FormulaHidden = False
For i = 1 To ActiveSheet.Protection.AllowEditRanges.Count
ActiveSheet.Protection.AllowEditRanges(i).Delete
Next i
End If
Range("A13:C19").Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protection.AllowEditRanges.Add Title:="范囲" & IS_FIRST, Range:=Range( _
"A13:C19"), Password:="123"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
IS_FIRST = IS_FIRST + 1
End Sub
还有一张效果图的,不过好像只能传一张图片。
高手入:EXCEL中锁定的问题,用宏解决视频
相关评论:
雷若邓下面的代码,分别为两个按钮的宏。密码暂定为“123”。你可以自己改。Dim IS_FIRST As Long Option Explicit Sub Macro1()'' Macro1 Macro ' Macro记録日 : 2012\/6\/6 ' Button1 Event 'Dim i As Long If ActiveSheet.ProtectContents Then ActiveSheet.Unprotect End If If IS_FIRST = 0 Then...
雷若邓我想知道,在不锁定单元格的情况下你又如何把其它数据同时粘贴进B4,B6和B8 比如这里有三个数在三个单元格:1,2,3 在不锁定的情况下你如何一次贴到B4,B6,B8 我也想知道这方法、
雷若邓如果你只需要一列不让别人修改的话,那么先选择所有单元格,单元格设置→保护,先取消锁定 然后不让别人修改的那列设置锁定,这样还没完哦,呵呵 最后再设置一下“保护工作表”就可以了,如图:这个方法可行,我刚试过,可能还有更简单的方法吧,希望能帮到你。
雷若邓以下代码是通过selectionchange事件写的,有点投机取巧,就是当选中C列的单个单元格时判断对应的B列中单元格里的数值是否等于A2中的数值,如果等于则禁止选中C列的单元格。Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.Count > 1 Then [a1].SelectElse If Target.Colum...
雷若邓Sub test()For i = 1 To CommandBars("format").Controls.Count CommandBars("format").Controls(i).Enabled = False Next i End Sub 补充:感觉这个问题用宏来解决需要处理的内容太多,还是不限制别人更改格式,在别人改好之后合并的时候选择“数值粘贴”就可以了。
雷若邓全选工作表,格式——单元格——保护 把“锁定”那个选定取消掉 选中需要保护的部分,格式——单元格——保护 设为锁定。然后 工具——保护——保护工作表 可以设密码 就是说,当工作表被保护的时候,单元格格式处于“锁定”状态的,保护有效,其他部分可修改。
雷若邓大概是因为EXCEL的安全验证拖慢了速度,如果只是打开慢,编辑保存都正常的话那就更有可能是这个原因了,而且OFFICE对不同用户的权限都有较为严格的要求
雷若邓用数据透视表.按步骤来操作.可以显示和隐藏各类数据.每当有新数据添加,右击透视表,进行更新就可以了.
雷若邓默认的是锁定,一般是否锁定无所谓,不过当你选择了“保护工作表”的时候就有区别了,锁定的单元格不能被编辑甚至可以设置为不能选择。
雷若邓选中所有的单元格,然后右单击. 如图