以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95615)

--  作者:huaqing8828
--  发布时间:2017/1/25 16:09:00
--  求助
单元格录入次数超过规定值,该单元格就被锁定。代码如何写
--  作者:有点蓝
--  发布时间:2017/1/25 17:11:00
--  
定义全局变量记录编辑次数

AfterEdit事件

if vars("次数") >= 5

e.Row.Locked = True

end if

vars("次数") += 1



--  作者:huaqing8828
--  发布时间:2017/1/25 20:18:00
--  
老师,我试了,单元格我录入四次,第五次就不能更改了。可我再回复录入状态就再也不能录入了,不知怎么回事,我已经把e.Row.Locked = True改为e.Row.Locked = False也不行,还烦老师给与解答


--  作者:owenlyx
--  发布时间:2017/1/25 21:06:00
--  
大于5,去掉等于
--  作者:huaqing8828
--  发布时间:2017/1/25 21:22:00
--  
老师,我试过了,没用的
--  作者:有点蓝
--  发布时间:2017/1/26 15:13:00
--  
上传示例具体说明要求
--  作者:huaqing8828
--  发布时间:2017/1/26 16:08:00
--  
老师,可能我没有表达清楚,是这样的,意思是这个单元格录入不能出错超过四次,否则此单元格锁定,要重新录入必须通过领导同意方可解锁。现在我用了
AfterEdit事件

if vars("次数") >= 5

e.Row.Locked = True

end if

vars("次数") += 1
这个代码后,录入超过四次,单元格所在的行都被锁定了,无法进行编辑,代码取消也不行,现在我要再编辑怎样才能解锁呢

--  作者:有点色
--  发布时间:2017/2/2 11:05:00
--  

StartEdit事件

 

If e.Col.name = "某列" Then
    If vars("次数") >= 5
        e.Cancel = true
    End If
    vars("次数") += 1
End If

解锁代码

 

vars("次数") = 4


--  作者:huaqing8828
--  发布时间:2017/2/12 14:07:00
--  

StartEdit事件

 

If e.Col.name = "某列" Then
    If vars("次数") >= 5
        e.Cancel = true
    End If
    vars("次数") += 1
End If

解锁代码

 

vars("次数") = 4

老师,vars("次数") = 4这是解锁代码吗,我试过好几次,怎么无法解开啊,试过的行都被锁定了,删都删不掉了


--  作者:lihe60
--  发布时间:2017/2/12 14:22:00
--  
以下是引用huaqing8828在2017/2/12 14:07:00的发言:

StartEdit事件

 

If e.Col.name = "某列" Then
    If vars("次数") >= 5
        e.Cancel = true
    End If
    vars("次数") += 1
End If

解锁代码

 

vars("次数") = 4

老师,vars("次数") = 4这是解锁代码吗,我试过好几次,怎么无法解开啊,试过的行都被锁定了,删都删不掉了

这是对某一列限制,不是对某一单元格限制。