Foxtable(狐表)用户栏目专家坐堂 → [求助]如何提取单元格中的数字?


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

主题:[求助]如何提取单元格中的数字?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/16 9:09:00 [显示全部帖子]

Dim str As String = "13.批准机构: 99   "
Dim reg As new System.Text.RegularExpressions.Regex("[0-9]+(?=$| +)")
Dim mc As Object = reg.matches(str)
msgbox(mc(0).Value)

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/16 10:00:00 [显示全部帖子]

 那就再循环对应的列
[此贴子已经被作者于2014-10-16 10:00:18编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/16 10:06:00 [显示全部帖子]

 For Each r As Row In Tables("X").rows
    Dim str As String = r("内设机构数")
    Dim reg As new System.Text.RegularExpressions.Regex("[0-9]+(?=$| +)")
    Dim mc As Object = reg.matches(str)
    Dim dr As Row = Tables("X2").addnew
    dr("第一列")=cint(mc(0).Value)
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/16 11:20:00 [显示全部帖子]

 你根本就没有excel表格啊。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/16 11:41:00 [显示全部帖子]

 比如,提取一级表的,如下代码

 


For Each r As Row In Tables("提取一级单位").rows
    Dim str As String = r("提取名称")
    Dim reg As new System.Text.RegularExpressions.Regex("(?<=" & StrToWide(":") & "+)[\u4e00-\u9fa5]+(?=$| +)")
    Dim mc As Object = reg.matches(str)
    If mc.count = 1 Then
        Dim dr As Row = Tables("汇总数据表").addnew
        dr("提取名称") = mc(0).Value
        dr("核定领导职数") = r("核定领导职数")
        str = r("内设机构数")
        reg = new System.Text.RegularExpressions.Regex("(?<=" & StrToWide(":") & "+.*)[0-9]+(?=$| +)")
        mc = reg.matches(str)
        If mc.count = 1 Then
            dr("内设机构数") = mc(0).Value
        End If
        str = r("实有机构数")
        reg = new System.Text.RegularExpressions.Regex("(?<=" & StrToWide(":") & "+.*)[0-9]+(?=$| +)")
        mc = reg.matches(str)
        If mc.count = 1 Then
            dr("实有机构数") = mc(0).Value
        End If
       
    End If
Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/10/16 15:31:00 [显示全部帖子]


 回到顶部