Foxtable(狐表)用户栏目专家坐堂 → 老师帮忙看看这个判断和循环是不是有问题?


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

主题:老师帮忙看看这个判断和循环是不是有问题?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
老师帮忙看看这个判断和循环是不是有问题?  发帖心情 Post By:2016/11/11 16:36:00 [显示全部帖子]

EXCEL中只有一个SHEET一列两行数据,其中有一行是隐藏的,执行下列代码后感觉循环了很多遍才结束(当cbox2.Checked=false不被选中的情况下),老师帮忙看看是不是哪里有问题?

For i As Integer = 1 To rg.Rows.Count
                    If CBox2.Checked OrElse rg.Rows(i).height <> 0 Then
'msgbox(1)
                        For j As Integer = 1 To rg.Columns.Count
'msgbox(2)
                            If CBox2.Checked OrElse rg.Columns(j).width <> 0 Then
'msgbox(3)
                                If ary(i,j) <> Nothing Then
'msgbox(4)
                                    If CBox1.Checked = False OrElse CBox1.Checked = True AndAlso System.Text.RegularExpressions.Regex.Match(ary(i,j),"[\u4e00-\u9fa5]+").Tostring()>""
'msgbox(5)
                                        Dim dr As DataRow = DataTables("内容").AddNew
                                        dr("原文") = ary(i, j)
                                        lbl5.text ="提取内容:" & ary(i,j)
                                    End If
                                End If
                            End If
                        Next
                    End If
                Next

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/12 0:06:00 [显示全部帖子]

如果使用这种方式(n = Range("A65536").End(xlUp).Row)那上面的代码应该如何改写?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/14 10:47:00 [显示全部帖子]

Range("A65536")只是获取A列的实际行数,如果要获取所有列的实际行数呢,应该如何写?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/14 13:30:00 [显示全部帖子]

谢谢老师,明白了不少
不过要同时解决有效行和列的问题 (ws.UsedRange.columns.count有效列)可以实现吗?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/14 14:10:00 [显示全部帖子]

有点色老师,在吗,您帮我看看以上的程序能否同时解决:准确获取sheet中有效数据行和有效数据列的问题?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/15 10:52:00 [显示全部帖子]

用了两个循环取出最大有效行和有效列,第一个循环得出结果没有问题,第二个循环就直接报错,是不是我哪里写的不对?老师帮助看看
For i As Integer =1 To rg.Columns.count
   Dim r = ws.cells(rg.Rows.count,i).End(MsExcel.XlDirection.xlUp).Row
   If r > RowsMax Then
   RowsMax = r
   End If
Next

For i As Integer = 1 To rg.Rows.count
   Dim r = ws.cells(16384,i).End(MsExcel.XLDirection.xlToLeft).Column
    If r > ColMax  Then
    ColMax = r
    End If
Next

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/15 11:03:00 [显示全部帖子]

执行第二个循环的时候报这个错误 

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


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/15 11:25:00 [显示全部帖子]

问题解决,多谢老师

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/15 16:00:00 [显示全部帖子]

老师帮忙看看,一个是有效行不对,一个是有效列不对不知道什么原因。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目38.rar



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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2016/11/15 17:59:00 [显示全部帖子]

把rg.rows.count和rg.columns.count改成了具体的数值满足当前测试EXCEL,会不会处理其他EXCEL时有问题?

 回到顶部
总数 16 1 2 下一页