vb.net Excel 和货币数字格式

问题描述 投票:0回答:1

我正在尝试以编程方式设置 Excel 列来键入货币

嗨,

我正在使用 vb.net 应用程序从数据库获取数据并将其放入 Excel 工作表中。

在 vb.net 代码中,我正在做:-

我正在选择要放入数据的单元格,将数字格式设置为“£#,##0.00”,然后将值放入例如£200.00

当我随后打开 Excel 工作簿时,该值正确显示为,例如£200.00 但在“主页”选项卡上的“数字”部分,下拉框显示“自定义”

有没有办法明确地将列类型设置为“货币”?

谢谢,

凯文

excel vb.net currency number-formatting
1个回答
0
投票

如果您手动将单元格设置为货币,然后在 VBA 中读取其数字格式,您会收到类似

$#,##0_);[Red]($#,##0)

的内容

展示差异:

Sub exampleFormat()
    Dim rng As Range
    Set rng = Me.Range("A5")
    rng.NumberFormat = "$#,##0_);[Red]($#,##0)"
    rng.Value = 300 'will show as (regional) Currency
    Set rng = Me.Range("B5")
    rng.NumberFormat = "$#,##0.00"
    rng.Value = 400 'will show as (regional currency but) Custom format
    Set rng = Me.Range("C5")
    rng.NumberFormat = "£#,##0_);[Red]($#,##0)"
    rng.Value = 300 'will show as Custom format regardless
    Set rng = Me.Range("D5")
    rng.NumberFormat = "£#,##0.00"
    rng.Value = 400 'will show as Custom format as well
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.