使用VBA在Excel单元格中编写公式

Mat*_*ieu 20 excel vba excel-vba

我正在尝试使用VBA将公式写入Excel中的单元格.我的问题是,当我;在公式中使用分号()时,我收到一个错误:

Run-time error 1004

我的宏如下:

Sub Jours_ouvres()
    Dim Feuille_Document As String
    Feuille_Document = "DOCUMENT"        
    Application.Worksheets(Feuille_Document).Range("F2").Formula = "=SUM(D2;E2)"    
End Sub
Run Code Online (Sandbox Code Playgroud)

小智 20

您可以尝试使用FormulaLocal属性而不是Formula.然后分号应该工作.


e.J*_*mes 5

在这种情况下使用的正确字符是完整的冒号(:),而不是分号(;).


Kno*_*rre 5

正确的字符(逗号或冒号)取决于目的.

逗号(,)将只对有问题的两个单元格求和.

Colon(:)将对该范围内的所有单元格求和由这两个单元格定义的角点.


小智 5

Treb,Matthieu的问题是由于使用非英语语言的Excel引起的.在许多语言版本中";" 是正确的分隔符.甚至函数都被翻译(SUM可以是SOMMA,SUMME或其他任何取决于你使用的语言).Excel通常会理解这些差异,如果法语创建的工作簿由巴西人打开,他们通常不会有任何问题.但是VBA只说美国英语,所以对于我们这些在一个(或多个)外国语言工作的人来说,这可能是个头痛的问题.你和CharlesB都给出了一个美国用户可以接受的答案,但是Mikko低估了真正的问题并给出了正确的答案(这对我来说也是正确的答案 - 我是一个英国人在意大利工作,讲德语公司).