No.1
Excel資料有多種格式,程式設計過程中,如果對資料格式分辨不清,那麼帶來的麻煩,真的無法言語。
資料格式分類大體有下面幾類:
"數字", "貨幣", "負數", "文字","日期","時間","分數","百分"等等。
本節主要介紹如下幾類:
"數字", "貨幣", "負數", "文字"
同樣,對於設定資料格式針對的是某一個單元格區域進行,所以,要用到單元格區域物件Range。
Range物件下面的NumberFormat屬性進行設定。
如下圖介紹:
此屬性可以定義單元格的資料格式。
Excel中有一些預設的格式,用一些字元來表示,如"General"為常規格式,"@"為文字格式,"$"為貨幣格式等等。
No.2應用方法
Dim cell As Range
Set cell = ActiveSheet.Range("A2:F2")
cell.NumberFormat = "$#,##0.00_);[Red]($#,##0.00);0.00;@"
分別用如下程式碼表示資料格式:
數字 #,##0.00_) 貨幣 $#,##0.00_) 負數 [Red]($#,##0.00) 文字 @上述程式碼是Excel自定義的文字字元,"#"號表示n位數字,一個“0”代表一位數字,[Red]表示資料顏色為紅色,字元"@"代表文字。
No.3下面用一個例項進行演示:
仔細看資料的佈局和顯示方式,可以分辨出資料之間的不同之處。
Private Sub ShowNumberFormat()On Error Resume NextApplication.ScreenUpdating = FalseDim Fname'定義表頭陣列Fname = Array("格式名稱", "原資料", "數字", "貨幣", "負數", "文字")Dim cell As Range, xcell As RangeSet cell = ActiveSheet.Range("A2:F2")cell.Value = Fname'設定表頭Set cell = ActiveSheet.Range("B3:B15")'定義資料區域With cell .Clear .RowHeight = 20 .EntireRow.Borders.Item(xlEdgeBottom).LineStyle = 1 .EntireRow.Interior.Color = RGB(21, 221, 222) With .Font .Size = 12 .Name = "微軟雅黑" End WithEnd WithFor Each xcell In cell With xcell .Value = VBA.Int((9999.99 - 99 + 1) * VBA.Rnd + 99)'隨機生成資料 With .Offset(0, 1) .Value = .Offset(0, -1).Value .NumberFormat = "#,##0.00_)" '數字格式 End With With .Offset(0, 2) .Value = .Offset(0, -2).Value .NumberFormat = "$#,##0.00_)" '貨幣格式 End With With .Offset(0, 3) .Value = .Offset(0, -3).Value .NumberFormat = "[Red]($#,##0.00)" '負數貨幣格式 End With With .Offset(0, 4) .Value = .Offset(0, -4).Value .NumberFormat = "@" '文字格式 End With End WithNext xcellSet xcell = NothingSet cell = NothingApplication.ScreenUpdating = TrueEnd Sub
No.4關鍵程式碼如下四行。
.NumberFormat = "#,##0.00_)" '數字格式.NumberFormat = "$#,##0.00_)" '貨幣格式.NumberFormat = "[Red]($#,##0.00)" '負數貨幣格式.NumberFormat = "@" '文字格式
其實在實際應用中,可以把不同的格式程式碼寫到一起使用。
如:
.NumberFormat = "$#,##0.00_);[Red]($#,##0.00);0.00;@"
不同的資料格式標識之間用";"隔開。
其它格式,"日期","時間","分數","百分"等等,在另外一篇進行介紹。
---END---
最新評論