运用VBA将Excel中【以文本存储的数字】转换为【数字】格式(去除绿色小三角)

需求:如下图,需将F、G、H共3列转换为数字格式,F列保留为整数,G、H列保留为2位小数的数字(且不带千分位)。对于个例的需求,一般用分列就好了,但是考虑到日报之类的频繁需求,还是用代码的好。

 1 Sub test3()
 2 
 3 Dim irow As Long
 4 Dim arr()
 5 
 6 irow = ActiveWorkbook.Sheets(1).Range("a1048576").End(xlUp).Row
 7 ReDim arr(1 To irow - 1, 3)
 8 arr = ActiveWorkbook.Sheets(1).Range("f2:H" & irow).Value
 9 
10 '转换单元格格式
11 With ActiveWorkbook.Sheets(1)
12     .Range("f2:H" & irow).ClearContents                 '清除待转换区域的数据
13     .Range("g2:H" & irow).NumberFormatLocal = "0.00"    'F列转换为整数数字格式
14     .Range("f2:f" & irow).NumberFormatLocal = "0"       'G列、H列转换为保留2位小数数字格式
15     .[f2].Resize(UBound(arr), 3) = arr
16 End With
17 
18 End Sub

 

posted @ 2019-05-21 17:57  最菜的编程萌新  阅读(5973)  评论(0编辑  收藏  举报