[英]How to add data from workbook1 into workbook2 and workbook2 updates when workbook1 updates?
我对 VBA/宏很陌生,我想创建一个仪表板,将 workbook1 中的多个图表协作到 workbook2 中的一个新的、集中的工作表中。 为此,我决定在 VBA 中添加一个代码,将数据从工作簿 1 复制到工作簿 2 但是当我将新信息添加到工作簿 1 以更改其数据时,它不会自动更新工作簿 2 中的数据。 有没有办法同步工作表和两个工作簿,以便 workbook2 也可以更新而无需我对其进行任何操作? 另外,我正在尝试将 workbook2 中的数据转换为自动更新的图表,以便我在 workbook2 中有一个易于阅读的工作表(基本上是一个仪表板)。
下面的脚本会将工作簿中的所有图表复制到一张纸上。 我认为,这比将所有内容移动到另一个工作簿中要干净得多。 希望这可以帮助。
Sub PullOverAllCharts()
Dim wsChart As Worksheet
Dim ws As Worksheet
Dim oChartObj As ChartObject
Dim oChart As Chart
Dim NextRow As Long
Dim NextColumn As Long
Dim ChartCount As Long
Set wsChart = ThisWorkbook.Worksheets("Chart Sheet")
wsChart.Cells.ClearContents
On Error Resume Next
wsChart.ChartObjects.Delete
On Error GoTo 0
Worksheets("Chart Sheet").Select
NextRow = 1
NextColumn = 1
ChartCount = 0
For Each ws In ActiveWorkbook.Worksheets
If ws.Name <> "Log Sheet" And ws.Name <> "All Data" And ws.Name <> "Chart Sheet" Then
If ws.ChartObjects.Count > 0 Then
ChartCount = ChartCount + 1
ws.ChartObjects(1).Copy
With wsChart
.Paste
Set oChartObj = .ChartObjects(.ChartObjects.Count)
oChartObj.Left = .Cells(NextRow, NextColumn).Left
oChartObj.Top = .Cells(NextRow, NextColumn).Top
End With
If ChartCount Mod 4 = 0 Then
NextRow = NextRow + 16
NextColumn = 1
Else
NextColumn = NextColumn + 8
End If
End If
End If
Next
wsChart.Activate
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.