Foxtable(狐表)用户栏目专家坐堂 → 这句代码如何能做到不出现以下的那个提示?


  共有11068人关注过本帖树形打印复制链接

主题:这句代码如何能做到不出现以下的那个提示?

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/22 20:55:00 [显示全部帖子]

问题出在红色的位置,难道你有1000行,就有1000列?

 

.Rows(i,i)("第一列") *.Rows(i+1)("第一列")


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/22 21:17:00 [显示全部帖子]

以下是引用blackzhu在2011-5-22 21:00:00的发言:

不对,这个是我测试不过来,当时加了这个看看的.

 

Select Case e.DataCol.Name
    Case "第一列"
        With Tables("表A")
            For i As Integer = 0 To Tables("表A").Count -1
                .Rows(i)("第九列")= .Rows(i)("第一列") *.Rows(i+1)("第一列")  '选定行相乘
            Next
        End With
End Select

 

当时这个代码出现提示的.

 

 

这也是有严重错误的,当i循环到Tables("表A").Count -1时,i+1等于Tables("表A").Count ,那么:

.Rows(i+1)("第一列")

肯定会出错,因为根本就不存在编号为Tables("表A").Count的行,行的编号最大为Tables("表A").Count -1

 

你的循环代码应该改为:

 For i As Integer = 0 To Tables("表A").Count -2


 回到顶部