我正在修改用vb.net编写的现有应用程序。 有一个导出选项可将信息导出到Excel工作表。 在导出之前,单元格格式定义如下。
.Cells(cRow, 17).NumberFormat = "$#,##0.00_);($#,##0.00)"
这很好用。但根据新要求,货币符号是动态的。 因此,一旦我设定货币(例如:马来西亚的riggit -MYR),
.Cells(cRow, 17).NumberFormat = "MYR#,##0.00_);(MYR#,##0.00)"
这会产生错误" 无法设置Range类的NumberFormat属性"。 可以有很多货币,我尝试使用变量设置货币。
Dim strCurrency As String = ""
strCurrency = "SGD"
.Cells(cRow, 17).NumberFormat = ""+strCurrency +"#,##0.00_);("+strCurrency +"#,##0.00)"
所有人都给了我同样的错误。 有人请告诉我如何设置自定义货币符号。 感谢
答案 0 :(得分:2)
如果我没弄错,EXCEL数字格式的任何字符都必须用引号括起来,所以:
<div id="runtime_area"></div>
<script type="text/html" id="page1">
<b>Banner</b>
</script>
答案 1 :(得分:1)
使用此
.Cells(cRow, 17).NumberFormat = strCurrency & "#,##0.00_);(" & strCurrency & "#,##0.00)"
没有必要使用如接受的答案中所示的那么多引号。
<强>解释强>
你的字符串
"MYR#,##0.00_);(MYR#,##0.00)"
也可以写成
"MYR" & "#,##0.00_);(" & "MYR" & "#,##0.00)"
现在只需将"MYR"
替换为您的变量
答案 2 :(得分:0)
将货币符号括在引号中:
Dim strCurrency = Chr(34) & "SGD" & Chr(34)
.Cells(cRow, 17).NumberFormat = String.Format("{0}#,##0.00_);({0}#,##0.00)", strCurrency)
Chr(34)
= "