需求:如下圖,需將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
