Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
各位老师:
我使用了锁定非空的代码,当非空单元格被选中时是不可以编辑了,但是发现了一个漏洞,使用快捷键Ctrl+D还可以更改被cancel的单元格,引用了上一行的单元格数据...汗...请问各位老师,如何能控制到像锁定列一样?上次CZY老师帮我编了个cancel后备注侧窗的还能编辑问题,但这个我实在是不会了,想也想不通了,请位哪位老师能帮一下?
各位老师:
我使用了锁定非空的代码,当非空单元格被选中时是不可以编辑了,但是发现了一个漏洞,使用快捷键Ctrl+D还可以更改被cancel的单元格,引用了上一行的单元格数据...汗...请问各位老师,如何能控制到像锁定列一样?上次CZY老师帮我编了个cancel后备注侧窗的还能编辑问题,但这个我实在是不会了,想也想不通了,请位哪位老师能帮一下?
我上一次的方法同样适用于此,而且无需改任何代码。
我上一次的方法同样适用于此,而且无需改任何代码。
谢谢CZY大师,上次您给的代码真的很好用,我开始用了,并解决了备注型列的编辑问题。那CZY 老师,这个能不能像锁定非空的代码,如下:
If e.Row.IsNull(e.col.Name)=False Then
e.Cancel = True
End If
不用指定列,而全部都有效呢?希望大师指定新手。
'--------------------------
这个本来就对所有列有效的:
If e.Row.IsNull(e.col.Name)=False Then
e.Cancel = True
End If
对特定的列有效,就在代码判断列名,要对所有列有效,就不判断列名。
全局变量还是Val
'PrepareEdit事件代码:
Vars("Val") = e.Row(e.col.Name)
If e.Row.IsNull(e.col.Name) = False Then
e.Cancel = True
End If
'DataColChanging事件代码
If e.DataRow.IsNull(e.DataCol.Name) = False Then
If Vars("Val") <> e.NewValue Then
e.Cancel = True
End If
End If
这个本来就对所有列有效的:
If e.Row.IsNull(e.col.Name)=False Then
e.Cancel = True
End If
对特定的列有效,就在代码判断列名,要对所有列有效,就不判断列名。
他要考虑备注列的停靠窗口
全局变量还是Val
'PrepareEdit事件代码:
Vars("Val") = e.Row(e.col.Name)
If e.Row.IsNull(e.col.Name) = False Then
e.Cancel = True
End If
'DataColChanging事件代码
If e.DataRow.IsNull(e.DataCol.Name) = False Then
If Vars("Val") <> e.NewValue Then
e.Cancel = True
End If
End If
谢谢CZY大师...