vba如何将文本转换成数字格式(VBA将大写数字转小写)
百度一下要将大写数字转小写感觉是比较麻烦的,提供一种解决思路供参考比如C列所有单元格可能都含大写数字,需要转成阿拉伯数字,设计为双循环 替换解决,代码如下:,下面我们就来说一说关于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