使用宏在Excel 2016中使用另一个单元格选择单元格值

时间:2018-03-10 03:05:52

标签: excel vba excel-vba excel-formula excel-2016

我正在准备一个自动执行某些功能的电子表格。

我有以下几行:

A,B,C,D,E,F,AF,G,日期,格式化日期

我的目的是当我向单元格A到F输入值时,总和会自动显示在AF中,而G则是小计。例如,最初如果A到F的值各为1,那么AF是AF的总和并且将显示6,G将是6本身,因为初始值将为0,所以0 + 6 = 6,但是我想要如果我将AF的值更改为2,则G应取前一个值(例如6)并将其加到AF的当前值(AF的总和= 12)并将G的单元格值更改为18 < / p>

我正在尝试为此功能创建动态宏。除了用现值和AF的当前值之和替换G之外,我已经获得了其他所有东西。

非常感谢任何帮助。

这是我当前的宏VBA代码

  Sub FetchDate()
'
' FetchDate Macro
'
' Keyboard Shortcut: Ctrl+q
'
    ActiveCell.FormulaR1C1 = "=TODAY()"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=TEXT(RC[-1],""mmmm d, yyyy"")"
    End Sub

Sub Sum()
'
' Sum Macro
'
' Keyboard Shortcut: Ctrl+w
'
    ActiveCell.FormulaR1C1 = "=SUM(RC[-6]:RC[-1])"
    ActiveCell.Offset(0, 1).Range("A1").Select
    End Sub

2 个答案:

答案 0 :(得分:0)

Rohith,据我所知,你的问题是如何提供运行总和。基本上,您希望将第一个总和值添加到下一个总和值。希望此代码可以帮助您解决您的问题。在这里,您只需要将第一个和值存储到单元格中,或者可以存储在变量中。

Sub SumData()

    Range("H1") = Range("G1").Value
    If Range("H1") = "" Then
        Range("G1") = "=Sum(A1:F1)"
        Range("H1") = Range("G1").Value
        Range("G1") = Range("G1").Value
    ElseIf Range("H1") <> "" Then
        Range("G1") = "=Sum(A1:F1)"
        Gvalue = Range("G1").Value
        Hvalue = Range("H1").Value
        sumvalue = Gvalue + Hvalue
        Range("G1") = sumvalue
    End If

End Sub

答案 1 :(得分:0)

谢谢大家的支持。

使用上面提到的概念,我使用以下代码使其工作:

{{1}}