以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  汇总表问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69014)

--  作者:实话实说
--  发布时间:2015/5/29 8:55:00
--  汇总表问题

对于生成的汇总表,如果光标焦点在本汇总表,操作出错,焦点移开汇总表则操作正常.出错原因在如下代码,而这个代码是需要的
菜单事件_AfterSelRangeChange
 
\'右下角显示表的区域计算
Dim Sum,Average,Count,Max,Min As Double
With CurrentTable
    Sum = CurrentTable.Aggregate(AggregateEnum.Sum, .TopRow, .LeftCol, .BottomRow, .RightCol)
    Average = CurrentTable.Aggregate(AggregateEnum.Average, .TopRow, .LeftCol, .BottomRow, .RightCol)
    Count = CurrentTable.Aggregate(AggregateEnum.Count, .TopRow, .LeftCol, .BottomRow, .RightCol)
    Max = CurrentTable.Aggregate(AggregateEnum.Max, .TopRow, .LeftCol, .BottomRow, .RightCol)
    Min = CurrentTable.Aggregate(AggregateEnum.Min, .TopRow, .LeftCol, .BottomRow, .RightCol)
End With
StatusBar.Message3 ="  累计:" & Cstr(sum) & "  平均:" & Cstr(Average) & "  计数:"  & Cstr(Count) & "  最大:"  & Cstr(Max) & "  最小:"  & Cstr(Min) & " "

 


图片点击可在新窗口打开查看此主题相关图片如下:12.gif
图片点击可在新窗口打开查看


--  作者:实话实说
--  发布时间:2015/5/29 9:10:00
--  
我试了一下将表的焦点移开到其它控件,没有效果,用代码移到其它不表(不可见)也没有效果, 
--  作者:大红袍
--  发布时间:2015/5/29 9:14:00
--  

 上传具体例子测试。


--  作者:逛逛
--  发布时间:2015/5/29 15:09:00
--  

在菜单事件_AfterSelRangeChange中判断一下(用变量或直接判断提示中的错误)
以屏蔽错误

 

 

可能是你在按钮点击的时候,有一个类似清空表之类的动作,引发单元格选择区间的变化

 

用变量,点击按钮时阻止事件的发生,代码运行结束后再启用事件