我在 Excel 中有两个单元格(A1 和 B1)。A1 应该每月根据销售额更改不同的值。B1 的现有值为 100 美元。
8 月份的销售额为 150 美元(应输入到 A1 单元格中)。我想将这 150 美元添加到 B1 单元格中现有的 100 美元中,使其成为 250 美元(非常简单)。
但是,对于下个月,我想在单元格 A1 中输入不同的值;比如说 200 美元,并且我希望将这 200 美元添加到单元格 B1 中的 250 美元中,变成 450 美元。
我不想复制粘贴。在指定的同一个单元格中,我想输入不同的值,而每次输入的值都应添加到单元格 B1 中的值中。
我想知道我是否可以在 Excel 中做到这一点。
答案1
答案2
您可以使用 VBA 编程来实现您想要做的事情。在您的默认工作表 Sheet1 中,您有单元格 A1,该单元格每月都会被覆盖,而单元格 B1 是您希望查看累计总数的地方。
右键单击 Sheet1,然后单击“查看代码”。或者按 ALT + F11,然后双击 VBA 项目下左侧窗格中的 Sheet1。
将打开一个空白的 VBA 代码窗口。在其中输入以下代码。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("A1")
If Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
Else
If IsNumeric(Range("A1").Value) Then
Range("B1").Value = Range("B1").Value + Range("A1").Value
Else
End If
End If
End Sub
保存并退出。将工作簿另存为 filename.xlsm。即启用宏的工作簿。现在,当您覆盖单元格 A1 中的值时,它将被添加到 B1。确保您仅在需要时更新 A1,否则它将继续将其添加到 B1。此代码中没有实现这样的验证,即 A1 每月只能更新一次!只是进行基本检查,确保 A1 应该是数字,以防止运行时错误。