以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]单元格编辑结束,自动跳转下一行指定列 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120197) |
||||
-- 作者:kzfasky -- 发布时间:2018/6/9 11:45:00 -- [求助]单元格编辑结束,自动跳转下一行指定列 a b c d e 1 2 3 1行d列单元格编辑完成回车结束, 直接跳转到c列第二行 求老师给个葫芦,我画个瓢,帮助里搜半天解决不了
[此贴子已经被作者于2018/6/9 11:45:51编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2018/6/9 12:18:00 -- 表格keydown事件 If e.Table.Cols(e.Table.Colsel).name = "d" AndAlso e.keycode = keys.Enter AndAlso e.Table.rowsel < e.Table.Rows.count-1 Then e.cancel = True e.Table.Select(e.Table.rowsel+1,e.Table.Cols("c").Index) End If |
||||
-- 作者:kzfasky -- 发布时间:2018/6/9 13:02:00 -- 老师。。我画的这个瓢不
好使 |
||||
-- 作者:有点蓝 -- 发布时间:2018/6/9 14:12:00 -- 没有问题啊。还是1楼是另外一个意思?重新描述一下 |
||||
-- 作者:kzfasky -- 发布时间:2018/6/9 14:32:00 -- 可能我没表述太清楚 当在d列单元格输入完毕敲击回车键 光标自动跳到下一行c列的单元格 老师看看这回表述的可以么
|
||||
-- 作者:kzfasky -- 发布时间:2018/6/9 14:38:00 -- 刚又试了下您给的代码,您给的代码在不编辑d列的时候管用 直接回车就到下行 c列了,可是在d列编辑的时候回车不好使,回车完直接跳到e列了
|
||||
-- 作者:有点蓝 -- 发布时间:2018/6/9 14:48:00 -- 代码复制一份到keydownedit事件 |
||||
-- 作者:kzfasky -- 发布时间:2018/6/10 11:56:00 -- 蓝老师,问题解决了,不过新问题又来了,一共做了3个跳转, 结果就直接跳到最后了,这个怎么解决,难道要3合一吗 If e.Table.Cols(e.Table.Colsel).name = "货物名称" AndAlso e.keycode = keys.enter AndAlso e.Table.rowsel < e.Table.Rows.count-1 Then e.cancel = True e.Table.Select(e.Table.rowsel,e.Table.Cols("重量").Index) End If If e.Table.Cols(e.Table.Colsel).name = "重量" AndAlso e.keycode = keys.enter AndAlso e.Table.rowsel < e.Table.Rows.count-1 Then e.cancel = True e.Table.Select(e.Table.rowsel,e.Table.Cols("车号").Index) End If If e.Table.Cols(e.Table.Colsel).name = "车号" AndAlso e.keycode = keys.enter AndAlso e.Table.rowsel < e.Table.Rows.count-1 Then e.cancel = True e.Table.Select(e.Table.rowsel+1,e.Table.Cols("公司名称").Index) End If |
||||
-- 作者:有点甜 -- 发布时间:2018/6/10 22:35:00 -- 改成
If e.Table.Cols(e.Table.Colsel).name = "货物名称" AndAlso e.keycode = keys.enter AndAlso e.Table.rowsel < e.Table.Rows.count-1 Then
e.cancel = True
e.Table.Select(e.Table.rowsel,e.Table.Cols("重量").Index)
ElseIf e.Table.Cols(e.Table.Colsel).name = "重量" AndAlso e.keycode = keys.enter AndAlso e.Table.rowsel < e.Table.Rows.count-1 Then
e.cancel = True
e.Table.Select(e.Table.rowsel,e.Table.Cols("车号").Index)
ElseIf e.Table.Cols(e.Table.Colsel).name = "车号" AndAlso e.keycode = keys.enter AndAlso e.Table.rowsel < e.Table.Rows.count-1 Then
e.cancel = True
e.Table.Select(e.Table.rowsel+1,e.Table.Cols("公司名称").Index)
End If |