Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样一键删除所有表中单元格内的空行


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

主题:[求助]怎样一键删除所有表中单元格内的空行

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]怎样一键删除所有表中单元格内的空行  发帖心情 Post By:2016/8/13 13:07:00 [只看该作者]

就是单元格内的硬回车产生的行,不是指表内的行。

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/13 14:56:00 [只看该作者]

Tables("表A").Current("第三列") = Tables("表A").Current("第三列").Replace(chr(10), "").Replace(chr(13), "")

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/8/13 15:50:00 [只看该作者]

.Replace(chr(10), "").Replace(chr(13), "")  这个看明白了,是把回车和换行符替换为""

Tables("表A").Current("第三列")   ------------把这个换成所有表的所有列,不知怎么换,是不是要遍历For Each tb As Table In Tables......?,再指点一下


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/13 16:05:00 [只看该作者]

遍历所有表,所有行,所有列

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/8/13 18:06:00 [只看该作者]

一时写不了...

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/8/14 12:38:00 [只看该作者]

版主好!有空帮忙看看。先谢谢了!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/14 12:45:00 [只看该作者]

For Each t As Table In Tables
    For Each r As Row In t.rows
        For Each c As Col In t.cols
            r(c.name) = Cstr(r(c.name)).Replace(chr(10), "").Replace(chr(13), "")
        Next
    Next
Next


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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/8/14 12:47:00 [只看该作者]

谢谢!好好研究一下。

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


加好友 发短信
等级:四尾狐 帖子:962 积分:8505 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2016/8/14 13:26:00 [只看该作者]

版主,还有点问题:
执行代码后,确实删除了所有换行符及回车符。
但和我实际想解决的问题还有些不同:在单元格里编辑字符串时,如果用Ctrl+回车就会产生换行。这个单元格的内容如果导入word模板就会产生分段的效果。如果单元格尾部产生这样一个换行符就很不容易发现,往往是导出word模板发现空行后,才知道。

我想达到这样的效果:
执行前(共6行,两行字符,4行空行):
AAA

AAA


执行后(两行字符):
AAA
AAA


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/14 16:58:00 [只看该作者]

For Each t As Table In Tables
    For Each r As Row In t.rows
        For Each c As Col In t.cols
            Dim ary() As String = cstr(r(c.name)).split(new Char() {chr(10), chr(13)})
            Dim str As String = ""
            For Each s As String In ary
                If s.trim > "" Then
                    str &= s & vbcrlf
                End If
            Next
            r(c.name) = str
        Next
    Next
Next

 回到顶部