需求:如下图,需将F、G、H共3列转换为数字格式,F列保留为整数,G、H列保留为2位小数的数字(且不带千分位)。对于个例的需求,一般用分列就好了,但是考虑到日报之类的频繁需求,还是用代码的好。
1 Sub test3()
3 Dim irow As Long
4 Dim arr()
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
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
18 End Sub