EXCEL取出单元格内数字 VBA

发布网友 发布时间:2022-04-24 02:53

我来回答

2个回答

热心网友 时间:2023-10-23 03:47

直接用 函数

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))

下拉公式

热心网友 时间:2023-10-23 03:47

直接用 函数

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))

下拉公式

热心网友 时间:2023-10-23 03:47

我看了你这些数据,都有“单元”二字,你需要的是获得“单元”二字自后的数字,可以用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)即可。

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

热心网友 时间:2023-10-23 03:47

直接用 函数

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))

下拉公式

热心网友 时间:2023-10-23 03:47

我看了你这些数据,都有“单元”二字,你需要的是获得“单元”二字自后的数字,可以用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)即可。

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

热心网友 时间:2023-10-23 03:47

我看了你这些数据,都有“单元”二字,你需要的是获得“单元”二字自后的数字,可以用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)即可。

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

热心网友 时间:2023-10-23 03:47

直接用 函数

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))

下拉公式

热心网友 时间:2023-10-23 03:47

我看了你这些数据,都有“单元”二字,你需要的是获得“单元”二字自后的数字,可以用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)即可。

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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com