当特定事件发生时,您如何告诉 excel 将一个单元格的值添加到另一个单元格?
How do you tell excel to add a value from one cell to another when something specific occurs?
我正在创建预算和总帐,我需要输入美元金额以添加到 GL 代码指定的单元格中。
当该行的 "GL Code" 标记为 "Council Food" 或我将在付款表上表示的数字时,我希望将该条目 (22.50) 的美元金额添加到我在主预算 sheet 中选择的单元格。我希望能够对主预算中的所有不同行执行此操作。
我认为 SUMIFS function 可能会帮助您实现这一目标。例如:
=SUMIFS('Disbursement Ledger'!$B:$B,'Disbursement Ledger'!$F:$F,"Council Food")
将对 "Disbursement Ledger" sheet 中 B 列中的所有内容求和,其中 F 列包含文本 "Council Food".
但是,您可能应该在 "Master Budget" sheet 中添加一列,其中包含每一行的 GL 代码。假设您将 GL 代码放在 H 列中(因此,H36 将是 "Council Food"),那么 G36 的公式将是:
=SUMIFS('Disbursement Ledger'!$B:$B,'Disbursement Ledger'!$F:$F,$H36)
因此,如果您在支付分类账中的下一个条目是 10.00 美元并且 GL 代码为 "Council Food",那么您在 "Master Budget" sheet 上的 G36 单元格将显示 32.50 美元.
您必须使用工作表事件。在 vent 处理程序中添加 if 条件以处理特定的行和列。参考 link and some precautions.
W.r.t。处理逻辑@elmer007 提到了 SUMIF。继续下去应该问题不大。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
'Here range depends on the cells you want to track
Set KeyCells = Range("A1:C10")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
' Place your processing code here.
End If
End Sub
我正在创建预算和总帐,我需要输入美元金额以添加到 GL 代码指定的单元格中。
当该行的 "GL Code" 标记为 "Council Food" 或我将在付款表上表示的数字时,我希望将该条目 (22.50) 的美元金额添加到我在主预算 sheet 中选择的单元格。我希望能够对主预算中的所有不同行执行此操作。
我认为 SUMIFS function 可能会帮助您实现这一目标。例如:
=SUMIFS('Disbursement Ledger'!$B:$B,'Disbursement Ledger'!$F:$F,"Council Food")
将对 "Disbursement Ledger" sheet 中 B 列中的所有内容求和,其中 F 列包含文本 "Council Food".
但是,您可能应该在 "Master Budget" sheet 中添加一列,其中包含每一行的 GL 代码。假设您将 GL 代码放在 H 列中(因此,H36 将是 "Council Food"),那么 G36 的公式将是:
=SUMIFS('Disbursement Ledger'!$B:$B,'Disbursement Ledger'!$F:$F,$H36)
因此,如果您在支付分类账中的下一个条目是 10.00 美元并且 GL 代码为 "Council Food",那么您在 "Master Budget" sheet 上的 G36 单元格将显示 32.50 美元.
您必须使用工作表事件。在 vent 处理程序中添加 if 条件以处理特定的行和列。参考 link and some precautions.
W.r.t。处理逻辑@elmer007 提到了 SUMIF。继续下去应该问题不大。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
'Here range depends on the cells you want to track
Set KeyCells = Range("A1:C10")
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
' Place your processing code here.
End If
End Sub