在Excel VBA中插入variablesdouble时出错

我有一个程序,插入一个Excel文件的一些价值。 在excel文件中插入一个variables(Double)的值。 单元格的数字格式是“##,## 0.00”。当variables的值是3.0或10.0,但是如果我把3.5或10.3的excel抛出这样的错误:
在这里输入图像说明

在第一个单元格中有正确的编号,但是在第二个单元格中出现错误(编号存储为文本)。
代码是这样的:

Dim price As Double Dim price2 As Double price = 5.0 price2 = 6.5 oSheet.Range("E1").Value = price oSheet.Range("E2").Value = price2 oSheet.Range("E1").NumberFormat = "€#,##0.00" oSheet.Range("E2").NumberFormat = "€#,##0.00" 

您遇到系统区域设置差异。 将数字格式添加区域代码。

 Dim price As Double, price2 As Double, oSheet As Worksheet Set oSheet = Worksheets("Sheet1") price = 5 price2 = 6.5 With oSheet .Range("E1").Value = price .Range("E2").Value = price2 .Range("E1").NumberFormat = "[$€-C07] #,##0.00" .Range("E2").NumberFormat = "[$€-C07] #,##0.00" End With 

结果应该类似于以下内容。

regional_format