【问题标题】:function SUM vba函数 SUM vba
【发布时间】:2019-01-02 04:48:04
【问题描述】:

我想使用来自不同列的不同单元格的函数SUM,我使用了这个语法但它不起作用,它总是返回0

Sub test(AC As String)
    Sheets("Feuil4").Activate
    Range("A1").Formula = "=SUM(Feuil2!AC10, -Feuil2!AC11)"
End Sub

Sub TEST()
    Call test("B")
End Sub 

我也试过了:Range("A1").Formula = "=SUM(Feuil2!AC & 10, -Feuil2!AC & 11)" 它也不起作用。

【问题讨论】:

标签: vba excel


【解决方案1】:

以下内容也应该有效,请记住我重命名了您的一个 Sub,因为它们不能都命名为“TEST”:

Sub TEST(AC As String)
    Sheets("Feuil4").Range("A1").Formula = "=SUM(Feuil2!" & AC & "10, -Feuil2!" & AC & "11)"
End Sub

Sub TESTS() 'renamed this
    Call TEST("B")
End Sub

【讨论】:

    【解决方案2】:

    这个公式

    Range("A1").Formula = "=SUM(Feuil2!AC10, -Feuil2!AC11)"
    

    从 Feuil2 单元格 AC10 中减去工作表 Feuil2 单元格 AC11。

    如果你想使用AC作为列名变量那么你必须使用

    Sub WriteSumFormula(SumColumn As String)
        Sheets("Feuil4").Range("A1").Formula = "=SUM(Feuil2!" & SumColumn & "10, -Feuil2!" & SumColumn & "11)"
    End Sub    
    

    还可以使用描述性变量和函数名称来使生活更轻松并获得更好的可维护代码。您不能命名 2 个不同的子 TEST。名称必须是唯一的。

    那么这个测试

    Sub TestWriteSumFormula()
        Call WriteSumFormula("B")
    End Sub
    

    应将公式=SUM(Feuil2!B10, -Feuil2!B11) 写入单元格A1。

    【讨论】:

      猜你喜欢
      • 2020-01-18
      • 2014-09-26
      • 1970-01-01
      • 2018-01-20
      • 2015-01-01
      • 2014-08-05
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多