资源描述:
《学习excel的心得》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1、怎样设置数据重复输入数据—有效性—设置选项卡—允许:自定义—公式:=COUNTIF(C:C,C5)=12、单元格数据只输入一次,就不能在更改,需密码才行注:绿色区域的单元格只能输入一次数据代码如下:在VBA中的工作表写下以下代码-----此方法对整个工作表中指定的区域有效(本编码密码:123)方法一:DimAPrivateSubWorksheet_Change(ByValTargetAsRange)IfIntersect(Target,[a1:b55555,d1:f55555])IsNothingThenExitSubApplication.EnableEvent
2、s=FalseIfA<>""Thenb=InputBox("改变内容,请输入密码!")Ifb<>"123"ThenMsgBox"密码错误,数据不能更改!"Target=AEndIfEndIfApplication.EnableEvents=TrueEndSubPrivateSubWorksheet_SelectionChange(ByValTargetAsRange)IfTarget.Count<>1ThenExitSubElseTarget.Cells(1,1).SelectA=TargetEndIfEndSub方法二:DimaPrivateSubWorksheet
3、_Change(ByValTargetAsRange)IfTarget.Count=1ThenIfIntersect(Target,[a1:b55555,d1:f55555])IsNothingThenExitSubApplication.EnableEvents=FalseIfa<>""Thenb=InputBox("改变内容,请输入密码!")Ifb<>"123"ThenMsgBox"密码错误,数据不能更改!"Target=aEndIfEndIfEndIfApplication.EnableEvents=TrueEndSubPrivateSubWorksheet_S
4、electionChange(ByValTargetAsRange)Target.Cells(1,1).Select第10页共10页a=TargetEndSub方法三PrivateSubWorksheet_SelectionChange(ByValTargetAsRange) IfTarget.Count=1Then IfIntersect(Target,[a1:c10,e1:e10])IsNothingThenExitSub IfTarget.Value=""Then ActiveSheet.Unprotect Else DimbZ: b=
5、InputBox("请输入密码","检查权限") Ifb="123"Then ExitSub Else Ifb=""Then Cells(11,ActiveCell.Column).Select ExitSub Else GoToZEndIf EndIfEndIfEndIfEndSub3、公式自动填充1【可保护工作表】)在D列输入数据,10列和11列自动向下填充公式,此代码在工作表中要在工作表保护后使用自动筛选功能,需要确保:1,保护工作表时工作表处于自动筛选模式
6、(即显示自动筛选的下拉按钮),2,保护时指定允许筛选PrivateSubWorksheet_Change(ByValTargetAsRange)ActiveSheet.Unprotect"123"&解除工作表保护Application.ScreenUpdating=FalseApplication.EnableEvents=Falsek=Range("c6556").End(xlUp).RowRange(Cells(6,1),Cells(k,2)).FillDownRange(Cells(6,10),Cells(k,10)).FillDownApplication.E
7、nableEvents=TrueApplication.ScreenUpdating=TrueProtectPassword:="123",AllowFiltering:=True&保护工作表并启用自动筛选EndSub2【可保护工作表:把要自动填充公式的列设置为可编辑区域】)在D列输入数据,2行4列的公式自动向下填充公式,此代码在工作表中第10页共10页PrivateSubWorksheet_Change(ByValTargetAsRange)Application.ScreenUpdating=FalseApplication.EnableEven