vba如何将文本转换成数字格式(VBA将大写数字转小写)

百度一下要将大写数字转小写感觉是比较麻烦的,提供一种解决思路供参考比如C列所有单元格可能都含大写数字,需要转成阿拉伯数字,设计为双循环 替换解决,代码如下:,下面我们就来说一说关于vba如何将文本转换成数字格式?我们一起去了解并探讨一下这个问题吧!

vba如何将文本转换成数字格式(VBA将大写数字转小写)

vba如何将文本转换成数字格式

百度一下要将大写数字转小写感觉是比较麻烦的,提供一种解决思路供参考。比如C列所有单元格可能都含大写数字,需要转成阿拉伯数字,设计为双循环 替换解决,代码如下:

arr = Array("一", "二", "三", "四", "五", "六", "七", "八", "九", "十") '建数组

For i = 1 To 111 'C列单元格循环

k = 1

For Each A In arr 'arr数组循环

If InStr(Cells(i, 3), A) > 0 Then

Cells(i, 3) = Replace(Cells(i, 3), A, k)

Exit For

Else

k = k 1

End If

Next

Next i

发现以上代码针对每个单元格数组从一到十都要循环,感觉不爽。如果大写数字在字符串中的位置是有规律的,如出现在字符串的最后,那么可以建字典,数组就不需要每次都循环了。代码如下:

Set Dia = CreateObject("scripting.dictionary") '建字典

arr = Array("一", "二", "三", "四", "五", "六", "七", "八", "九", "十") '建数组

k = 1

For Each A In arr

Dia(A) = k

k = k 1

Next

For i = 1 To 111

A = Right(Cells(i, 3), 1)

If Dia.Item(A) <> "" Then Cells(i, 3) = Replace(Cells(i, 3), A, Dia.Item(A))

Next

Dia.RemoveAll '清空字典

[我想静静][我想静静][我想静静]

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页