以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- “必须为非负值并小于集合大小”是怎么回事?怎么解决? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48597) |
||||
-- 作者:苍风霁月 -- 发布时间:2014/4/1 17:44:00 -- “必须为非负值并小于集合大小”是怎么回事?怎么解决? 我在BeforeSelRangeChange,AfterSelRangeChange设置事件,选择范围改变均没问题,在用了表事件,keydown后(空格),提示“必须为非负值并小于集合大小”,提示错误事件在BeforeSelRangeChange,AfterSelRangeChange中,这怎么解决? |
||||
-- 作者:Bin -- 发布时间:2014/4/1 17:45:00 -- 建议您用这个方法: http://www.foxtable.com/help/topics/1485.htm 先找出是哪一行出错,然后分析原因,搞不定,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。 或者上例子.
|
||||
-- 作者:lsy -- 发布时间:2014/4/1 17:59:00 -- BeforeSelRangeChange,AfterSelRangeChange之类的事件,前面都要加判断: If e.Tabel.RowSel < 0 Orelse e.Tabel.ColSel < 0 Then Return End If |
||||
-- 作者:苍风霁月 -- 发布时间:2014/4/2 8:20:00 -- 两个事件都加了判断的,还是会出现这种情况,before码如下: If CurrentTable.RowSel < 0 OrElse CurrentTable.ColSel < 0 Then For Each r As Row In Tables("原始数据").GetCheckedRows
after代码如下:
If CurrentTable.RowSel < 0 OrElse CurrentTable.ColSel < 0 Then |
||||
-- 作者:有点甜 -- 发布时间:2014/4/2 9:11:00 -- 回复4楼,用代码测试正常。请做一个出错的例子发上来。 |
||||
-- 作者:苍风霁月 -- 发布时间:2014/4/2 17:48:00 -- 如例子,先选择部分区域后,使用表快捷键ALT+S,然后再点击表,则会报错,请帮忙看看!
|
||||
-- 作者:有点甜 -- 发布时间:2014/4/2 18:37:00 -- 测试了一下,确实会报错。你把下面的代码放到AfterSelRangeChange事件里去吧
For Each r As Row In Tables("原始数据").GetCheckedRows
改成这样更好
Tables("原始数据").ClearCheckedRows
|