Excel如何制作自动SUM表单

时间:2016-12-22 12:24:33

标签: excel vba excel-vba

我想,然后我在单元格中输入一个数字(值)它自动求和(或点击“输入”或点击按钮后效果更好),结果显示在另一个单元格中。之后,单元格变空,我可以在同一单元格中输入下一个值。 例如。我有两个单元格A2B2。在第一个,我总是输入数据,在第二个 - 显示总数。因此,如果我们进入单元格B2,结果为“230”。然后我按下ENTER或某个按钮后输入单元格A2 100 B2中的结果变为“330”,之后变为空A2。而且我可以按照自己的意愿这么做。

请帮我解释一下代码。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您需要一个在单元格值更改时触发的宏。在工作表更改事件上触发以下代码,然后检查更改的单元格是否为A2而不为空。如果是,则将A2的值添加到当前值B2,并将A2设置为null。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    Set KeyCells = Range("A2")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing _
        And Range("A2") <> "" Then

        Range("B2").Value = Range("B2").Value + Range("A2").Value
        Range("A2").Value = ""
        Range("A2").Select

    End If
End Sub

将此作为宏添加到当前工作表中,然后您输入A2的任何数字都会添加到当前值B2

这只是快速示例代码,因此您可能需要进行修改以满足您的特定需求。我会研究验证条目是数字而不是文本。

答案 1 :(得分:1)

根据您的要求提供所需代码的PFB。该宏将对单元格A2和B2中的值求和,并在单元格B2中给出输出。

Sub AutoSumming()

'Declaring variables
Dim Variable1, Total As Long

'Initializing the variables
Variable1 = Range("A2").Value
Total = Range("B2").Value

'Performing the sum
Total = Total + Variable1

'Reassign values back to cells
Range("B2").Value = Total
Range("A2").Value = ""

End Sub