EXCEL取出单元格内数字 VBA

怎样取出号? 比如4单元664好 那么执行这段宏之后在指定的列对应的第一行会出现664,另外一个要求是不足3位数的在前面补0,比如绿洲家园98,执行后为098。用VBA实现。

直接用 函数

B1=IF(LEN(MID(A1,FIND("元",A1)+1,FIND("号",A1)-FIND("元",A1)-1))>=3,MID(A1,FIND("元",A1)+1,FIND("号",A1)-FIND("元",A1)-1),0&MID(A1,FIND("元",A1)+1,FIND("号",A1)-FIND("元",A1)-1))

下拉公式

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-29

我看了你这些数据,都有“单元”二字,你需要的是获得“单元”二字自后的数字,可以用split来获得,三位数可以用format函数得到,我下面的代码测试通过,完全满足你的要求:

Option Explicit
Sub xx()
    Dim c As Range, x
    For Each c In [a1:a2]
        x = Val(Split(c.Value, "单元")(1))
        c.Offset(0, 1) = "'" & Format(x, "000")
    Next c
End Sub

追问

比如说这些内容在A列,那么怎样把取出来的数字相对应的放在H列?

追答

上面的代码,麻烦你稍微看一看,代码里面假设内容在A1:A2,如果你的范围是A1:A100,请修改第4行,代码中的结果是保存在A后右边一列,如果你要保持到H列,请把第6行的Offset(0,1)修改为Offset(0,7)即可。

我的代码是在我的机器上执行成功了的。

本回答被提问者采纳
相似回答