运用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