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


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

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

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


加好友 发短信
等级:五尾狐 帖子:1132 积分:8739 威望:0 精华:0 注册:2012/7/10 9:09:00
[求助]如何提取单元格中的数字?  发帖心情 Post By:2014/10/16 9:04:00 [只看该作者]

如下图:在一列(如:内设机构数)提取数字到另一个表中,注:原表中内设机构数列为字符列,提取后的表中的“内设机构数”列为整数列,如何提取转换,同时要删除多余的空格。谢谢
图:
图片点击可在新窗口打开查看此主题相关图片如下:截图01.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/16 9:09:00 [只看该作者]

提取后面的那个数字?

for each r as row in tables(X).rows
   if r("内设机构数").Contains(":") then
      dim dr as datarow = tables(X2).addnew
      dr("内设机构数")=cint(r("内设机构数").split(":")(1).trim())
   end if
next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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)

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


加好友 发短信
等级:幼狐 帖子:155 积分:1096 威望:0 精华:0 注册:2014/8/14 8:38:00
  发帖心情 Post By:2014/10/16 9:16:00 [只看该作者]

这个好像跟我的需求是一样的。参考下

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


加好友 发短信
等级:五尾狐 帖子:1132 积分:8739 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/10/16 9:53:00 [只看该作者]

有点甜:给的代码只能转换一个,批量转换一列或几列,怎么弄,一头雾水,谢谢

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/10/16 9:55:00 [只看该作者]

套到2楼的代码去,或者直接用2楼的代码

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 datarow = tables(X2).addnew
      dr("内设机构数")=cint(mc(0).Value)
next


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


加好友 发短信
等级:五尾狐 帖子:1132 积分:8739 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/10/16 9:59:00 [只看该作者]

如何是多列怎么办


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1132 积分:8739 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2014/10/16 10:04:00 [只看该作者]

执行2楼的代码,出现以下错误:
图片点击可在新窗口打开查看此主题相关图片如下:截图02.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

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