Vb.net 公式1c1不';我不能和SUMME一起工作

Vb.net 公式1c1不';我不能和SUMME一起工作,vb.net,vba,excel,excel-formula,Vb.net,Vba,Excel,Excel Formula,公式1c1方法的工作原理与预期不同 objExcel = CreateObject("Excel.Application") objWorkbook = objExcel.Workbooks.Add Dim Formula As String Formula = "=SUMME(Z1S1;Z2S1)" For i = 1 To 5 Step 1 objWorkbook.Worksheets("Tabelle1").Cells(i, 1).Formu

公式1c1方法的工作原理与预期不同

objExcel = CreateObject("Excel.Application")
    objWorkbook = objExcel.Workbooks.Add
    Dim Formula As String
    Formula = "=SUMME(Z1S1;Z2S1)"
    For i = 1 To 5 Step 1
        objWorkbook.Worksheets("Tabelle1").Cells(i, 1).FormulaR1C1 = 5
        objWorkbook.Worksheets("Tabelle1").Cells(i, 5).FormulaR1C1 = "Text"
        objWorkbook.Worksheets("Tabelle1").Cells(i, 3).FormulaR1C1 = Formula
    Next
在第三列中,这应该给我5次10,但它没有。我甚至试过:

Formula = "=SUMME(Z[0]S[-2];Z[1]S[-2])"
但这也不行。循环在到达分配行时刚好中断:(.如果我用

Formula = "=SUMME(Z1S1,Z2S1)"
它完全执行,但不适用于excel,因为它在excel字段中显示=SUMME('Z1S1';'Z2S1')

如果您计划使用包含非EN US函数的字符串,则必须使用或。VB.Net需要一个EN-US公式,并将其转换为工作表的区域语言

Formula = "=SUM(A1, B2)"
'or depending on your requiements,
Formula = "=SUM(A1:B2)"
.Formula = Formula

Formula = "=SUM(R1C1, R2C2)"
'or depending on your requiements,
Formula = "=SUM(R1C1:R2C2)"
.FormulaR1C1 = Formula

Formula = "=SUMME(Z1S1;Z2S1)"
'or depending on your requirements,
Formula = "=SUMME(Z1S1:Z2S1)"
.FormulaLocalR1C1 = Formula
不要将xlA1单元格引用与xlR1C1引用混淆。R23表示xlA1中的单元格(23,18)和xlR1C1中的单元格(23:23)

请注意,使用或强制使用逗号(EN-US标准)而不是分号作为系统列表分隔符







当它中断时有什么错误?没有错误:(当它涉及到obj工作簿、工作表(“Tabelle1”)、单元格(i,3)时,它只是结束。FormulaR1C1=FormulaI刚刚尝试过,这个
“=SUM(R2C1,R2C2)”
很好,我不确定是否需要将前两个作为值放入。放入常量(例如5或“文本”在as中,公式默认作为输入,因为它们不是公式。fwiw,将保留字、属性或方法的名称重新用作变量从来都不是一个好主意。使用*myFormula作为字符串会更好。是的,它们是不同的,可能与您完全不同,但这只能导致confusion当别人查看你的代码时。我的意思是,说真的,你甚至正确地使用了变量。当然,虽然我不是OP,但我只是感兴趣;)我最近对德语R1C1/Z1S1引用有一个问题,所以我很好奇。(ps:你弄错了最后一行,应该是
。FormulaR1C1Local
。现在我完成了!)我不能再问其他问题了,我希望你能在这里帮助我:3;我遇到了一个新问题:destWorkbook.Worksheets(“Intern”).Cells(SumIndex,j+8)。NumberFormatLocal=“0,00”应该格式化的字段使用自定义的#.000
“0.00”进行格式化
应该可以作为EN-US或DE-DE的格式掩码。我所用的笔记本电脑没有足够的语言加载以进行全面测试。可能只是使用。