VBA实现在总表输入数据,分表的对应位置自动更新
时间: 2023-11-28 10:49:35 浏览: 91
你可以使用 VBA 宏来实现这个功能。下面是一个简单的示例代码:
```VBA
Sub UpdateData()
Dim i As Long, j As Long
Dim mainSheet As Worksheet, subSheet As Worksheet
Set mainSheet = ThisWorkbook.Sheets("总表")
For i = 2 To mainSheet.Range("A" & Rows.Count).End(xlUp).Row
Set subSheet = ThisWorkbook.Sheets(mainSheet.Range("A" & i).Value)
If Not subSheet Is Nothing Then
For j = 2 To subSheet.Range("A" & Rows.Count).End(xlUp).Row
If subSheet.Range("A" & j).Value = mainSheet.Range("B" & i).Value Then
subSheet.Range("B" & j).Value = mainSheet.Range("C" & i).Value
Exit For
End If
Next j
End If
Next i
End Sub
```
这个宏会遍历总表中的每一行数据,找到对应的分表,并在分表中更新相关数据。假设总表的数据有以下格式:
| 分表名称 | 数据项 | 数据值 |
| --- | --- | --- |
| Sheet1 | Item1 | 100 |
| Sheet2 | Item2 | 200 |
那么分表 Sheet1 和 Sheet2 中需要有以下格式的数据:
Sheet1:
| 数据项 | 数据值 |
| --- | --- |
| Item1 | 100 |
Sheet2:
| 数据项 | 数据值 |
| --- | --- |
| Item2 | 200 |
你需要根据你的实际数据格式进行修改。另外,为了方便使用,你可以将这个宏绑定到总表中的一个按钮上,这样每次更新数据只需要点击按钮即可。