Excel ThisWorkbooks.Sheets.Formula=两个单元格和一个数字之间的加法

Excel ThisWorkbooks.Sheets.Formula=两个单元格和一个数字之间的加法,excel,vba,Excel,Vba,在表1中,L13是其他两个单元格(I10-H85)之间的差异。第一次,该差值大于零(例如1470000.43) 在表1中,H85是一些单元格的附加值。其中一个细胞是H82。H82=‘Sheet2’!C14+“表2!”G14 现在,在第二次中,我必须在H82中添加差值(L13值),例如L13变为0。H82上的公式必须是这样的:“Sheet2”!C14+“表2!”G14+1470000.43 单元格格式为标准格式(2位小数)。 警告:我的MS Excel是法语 为此,我尝试: 仅对ecart和每个

在表1中,L13是其他两个单元格(I10-H85)之间的差异。第一次,该差值大于零(例如1470000.43)

在表1中,H85是一些单元格的附加值。其中一个细胞是H82。H82=‘Sheet2’!C14+“表2!”G14

现在,在第二次中,我必须在H82中添加差值(L13值),例如L13变为0。H82上的公式必须是这样的:“Sheet2”!C14+“表2!”G14+1470000.43

单元格格式为标准格式(2位小数)。 警告:我的MS Excel是法语

为此,我尝试:

  • 仅对ecart和每个加法项转换为双精度(CDbl)或十进制(CDec)

  • 将ecart格式化为
    ecart=Format(ecart,#,##,##“)

但不工作:执行错误1004:Errure定义应用程序“L”Objt。< /P> 为此,唯一有效的方法是:

Dim ecart As Double
ecart = Sheets("Sheet1").Range("L13").Value
Sheets("Sheet1").Range("H82").Formula = _
                    "='Sheet2'!C14 + 'Sheet2!G14 + " & int(ecart)
但是,L13变为0,43(因为ecart被强制转换为int,并且不考虑小数)


我真的不知道该怎么解决这个问题。

是的,就是这个!它起作用了!取L13值的变量的类型为Double。我添加了一个Variant=Replace类型的变量(L13值,“,”,”),然后在H82公式中使用。我希望能帮助别人。干杯是的,就是这样!它起作用了!取L13值的变量的类型为Double。我添加了一个Variant=Replace类型的变量(L13值,“,”,”),然后在H82公式中使用。我希望能帮助别人。干杯