Vba 如何使用一个旋转按钮更改任意数量单元格的值?

Vba 如何使用一个旋转按钮更改任意数量单元格的值?,vba,excel,excel-formula,Vba,Excel,Excel Formula,有任意数量的单元格包含以下公式: =SUMA1;A2,…=SUMN1;N2 现在我想要一个旋转按钮,它可以一次将所有公式更改为=SumA1;A2;A3,…=SUMN1;N2;N3 每个单元有12个不同的FORUMLA 当然,我的公式要复杂得多,这就是为什么解应该是 尽可能地抽象,而不是为了精确地解决这个求和问题 也许这是可能的,通过旋转按钮和包含我的不同公式的下拉列表的组合?我对Excel一无所知: 这是怎么做到的?不幸的是,我不知道VBA 感谢您的帮助:-如果您的范围可能是按顺序排列的,则可以

有任意数量的单元格包含以下公式: =SUMA1;A2,…=SUMN1;N2

现在我想要一个旋转按钮,它可以一次将所有公式更改为=SumA1;A2;A3,…=SUMN1;N2;N3

每个单元有12个不同的FORUMLA

当然,我的公式要复杂得多,这就是为什么解应该是 尽可能地抽象,而不是为了精确地解决这个求和问题

也许这是可能的,通过旋转按钮和包含我的不同公式的下拉列表的组合?我对Excel一无所知:

这是怎么做到的?不幸的是,我不知道VBA


感谢您的帮助:-

如果您的范围可能是按顺序排列的,则可以在VBA编辑器中使用以下功能,并在Office-2007-Forward版本中将文件另存为启用Excel宏的工作簿:

Function AutoRange(rngFrom As Range, rngTo As Integer)
    Dim a As Integer
    Dim r As Range
    Dim cell1, cell2, Rng As Range

    Set cell1 = Cells(rngFrom.Row, rngFrom.Column)
    Set cell2 = Cells(rngFrom.Row + rngTo - 1, rngFrom.Column)
    Set Rng = Range(cell1, cell2)

        For Each r In Rng
            a = a + r
        Next
    AutoRange = a
End Function
该函数可以使用下图中给出的格式,我在这里只使用了4个单元格范围:


您只需更改指定的绿色单元格值,即按向下的顺序在您的范围内有多少单元格。如果更改绿色单元格的值时不重新计算,只需按Ctrl+Alt+F9。试试看,谢谢……

如果每个公式的逻辑都不一样,那就很难做到了。如果它们都是相同的,你可以在单元格中循环找到匹配的公式,然后修改它。如果你必须在所有单元格中循环,速度会非常慢。因此,为了理解,你是否总是在每次向上选择时将下一行添加到范围中,例如XX1,XX2变为XX1,XX2,XX3。。。不是,例如XX1、XX2、XX9?如果是这样,我认为这是可以做到的。公式:VLOOKUPD10;贝祖格!;3.错2。公式:VLOOKUPD10;贝祖格!;3.错误+VLOOKUPD10;贝祖格!;4.错3。等总是再多一个VLOOKUP,Bezug!总是一样的表达。逻辑总是一样的:sry。贝祖格!变化像:VL..A1+VL..A2+VL..A3等。