我在函數中得到以下代碼片段,該函數應該將Excel表格中許多列的數據正文範圍設置爲「貨幣「格式:爲Excel VBA中的範圍設置的「貨幣」樣式結果爲「會計」
For i = 5 To oActiveTable.ListColumns.count
With oActiveTable.ListColumns(i).DataBodyRange
' .NumberFormat = "#,##0.00 €"
' .NumberFormat = "Currency"
.Style = "Currency"
End With
Next
註釋行分別是不滿意或borken企圖。
.NumberFormat = "#,##0.00 €"
工作,但導致格式顯示爲「自定義」這是不受歡迎的,因爲它可能會導致建立在我的方法之上的人繼續這種不好的做法。
.NumberFormat = "Currency"
不起作用(錯誤1004-顯而易見,事後看來),一些在文檔,教程和文章中進行挖掘顯示「Currency」實際上是一種單元格樣式。
.Style = "Currency"
作品,即風格已設置,但不知何故成爲「會計」風格 - 這不是我想要的,因爲我們不希望「 - €」爲0(零)值。
爲什麼會發生這種情況,我該如何預防它?
我很確定我不是第一個被這個難倒的人,但是找不到這個東西 - 大多數人似乎都是直接設置數字格式。
我在Windows 7上使用Excel 2010.兩個設置爲英語的UI語言,但系統的區域設置(時間,日期,數字格式,...)設置爲德國。
編輯: 至少對我而言混亂方面解決:貨幣風格已會計數字格式分配。
貨幣ist只是格式列表的同義詞。在這裏,我的「貨幣」默認爲'#,## 0.00 [$€-407]; [RED] - #,## 0.00 [$€-407]'。我不會太在意「Custom」的名字。 – Arminius
不幸的是,這種方式創建的文件的收件人有點挑剔:) –