Board logo

標題: [發問] 如何區別NumberFormat及NumberFormatLocal使用方式呢? [打印本頁]

作者: dechiuan999    時間: 2010-10-2 20:37     標題: 如何區別NumberFormat及NumberFormatLocal使用方式呢?

各位大大好:

請問對於數字格式的用法
應使用NumberFormatLocal或是
使用NumberFormat呢?
以下列的語法使用二者都得到
相同的結果。


Sub mm()
   
    Dim aa As Range
    Dim bb As Range
   
    Set aa = Range("a1")
    Set bb = Range("b1")
    aa.NumberFormatLocal = "#,##0"   
    bb.NumberFormat = "#,##0"

    aa.Value = "123456789"
    bb.Value = "123456789"   
        
End Sub

謝謝各位大大。
作者: Min    時間: 2010-10-2 20:49

help有寫喔!

NumberFormatLocal;
套用至 Style 物件時用 NumberFormatLocal 屬性。
以使用者語言字串傳回或設定物件的設定代碼格式。讀/寫 String。

NumberFormat;
套用至 DataLabel、DataLabels、PivotField、Style 及 TickLabels 物件時用 NumberFormat 屬性。
傳回或設定指定物件的格式代碼。讀/寫 String。
作者: dechiuan999    時間: 2010-10-3 05:43

謝謝版主大大的說明。

小弟也有利用help說明先了解其含意。
只是其說明還真有點難以理解。
小弟會再慢慢領會其含意了!

感恩大大!
作者: GBKEE    時間: 2010-10-3 09:03

本帖最後由 GBKEE 於 2010-10-3 09:06 編輯

回復 3# dechiuan999
以下說明如有不對 敬請指教
NumberFormat及NumberFormatLocal  ( 局部,本地,區域) 差別在字尾 目前2003中文版使用上我只找出有一點差別
另加上物件屬性 Name 及 NameLocal 差異說明
Sub Ex()
    Dim a As CommandBar
    Set a = Application.CommandBars(1)
    MsgBox "功能表1 名稱: " & a.Name & Chr(10) & "功能表1 地區名稱:  " & a.NameLocal
    With Range("a1")
        .Value = Date
        .NumberFormat = "m/d/yyyy"
        MsgBox "Range(""a1"") 顯示為: " & .Text & Chr(10) & "NumberFormat:" & Space(10) & .NumberFormat & Chr(10) & "NumberFormatLocal:  " & .NumberFormatLocal
    End With
End Sub
作者: dechiuan999    時間: 2010-10-3 12:33

謝謝版主大大:

小弟試著改變下列語法
所得到的會有二種結果。

語法如下:
Sub Ex()
    Dim a As CommandBar
    Set a = Application.CommandBars(1)
    MsgBox "功能表1 名稱: " & a.Name & Chr(10) & "功能表1 地區名稱:  " & a.NameLocal
    With Range("a1")
        .Value = Date
        .NumberFormat = "m/d/yyyy"
        MsgBox "Range(""a1"") 顯示為: " & .Text & Chr(10) & "NumberFormat:" & Space(10) & .NumberFormat & Chr(10) & "NumberFormatLocal:  " & .NumberFormatLocal
    End With
   
   
     With Range("b1")
        .Value = Date
        .NumberFormatLocal = "m/d/yyyy"
        MsgBox "Range(""b1"") 顯示為: " & .Text & Chr(10) & "NumberFormat:" & Space(10) & .NumberFormat & Chr(10) & "NumberFormatLocal:  " & .NumberFormatLocal
    End With
   
     With Range("c1")
        .Value = Date
        .NumberFormatLocal = "mm/dd/yyyy"
        MsgBox "Range(""c1"") 顯示為: " & .Text & Chr(10) & "NumberFormat:" & Space(10) & .NumberFormat & Chr(10) & "NumberFormatLocal:  " & .NumberFormatLocal
    End With
   
   
    With Range("d1")
        .Value = Date
        .NumberFormat = "mm/dd/yyyy"
        MsgBox "Range(""d1"") 顯示為: " & .Text & Chr(10) & "NumberFormat:" & Space(10) & .NumberFormat & Chr(10) & "NumberFormatLocal:  " & .NumberFormatLocal
    End With
   
End Sub

第一個 :2010/10/3
第二個 :10/3/2010
第三個 :10/03/2010       
第四個 :10/03/2010

這真正的差異為何
小弟目前尚在
揣測之中。

謝謝版主大大。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)