VBA实现在一个汇总工作簿中输入一种产品的收入、成本和利润的数据,该产品对应的分工作簿自动更新。注意:不是工作表!
时间: 2023-12-06 12:44:19 浏览: 109
输入一个名字后面自动批量提取显示多列的信息方法二
要实现这个功能,你可以使用 VBA 中的事件处理程序和链接功能。
首先,在汇总工作簿中创建一个工作表,用于输入产品的收入、成本和利润数据。然后,在 VBA 中打开该工作簿,单击“工具”菜单中的“宏”选项,选择“Visual Basic Editor”打开 VBA 编辑器。
接下来,你需要创建一个名为“Workbook_SheetChange”的事件处理程序,以便在输入数据时自动更新分工作簿。在 VBA 编辑器中,双击汇总工作簿的工作表,在代码窗口中输入以下代码:
```
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ws As Worksheet
Dim r As Range
Dim prod As String
Dim income As Double, cost As Double, profit As Double
'获取输入数据
prod = Range("A1").Value
income = Range("B1").Value
cost = Range("C1").Value
profit = Range("D1").Value
'更新分工作簿
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "汇总" Then
Set r = ws.Range("A:A").Find(prod, LookIn:=xlValues, LookAt:=xlWhole)
If Not r Is Nothing Then
r.Offset(0, 1).Value = income
r.Offset(0, 2).Value = cost
r.Offset(0, 3).Value = profit
End If
End If
Next ws
End Sub
```
该代码会在输入数据时自动运行,并且会遍历所有的工作表(除了“汇总”工作表),找到与输入产品名称相匹配的单元格,并更新对应的收入、成本和利润数据。
最后,你需要使用链接功能将分工作簿中的数据链接到汇总工作簿中。在分工作簿中,选择要链接的单元格,然后使用“Ctrl+C”复制该单元格。返回到汇总工作簿中,选择要链接到的单元格,然后使用“Ctrl+Alt+V”打开“粘贴特殊”对话框,在“操作”列表中选择“链接”选项,然后单击“确定”按钮即可。
现在,当你在汇总工作簿中输入产品数据时,分工作簿中对应的数据会自动更新。
阅读全文