简体   繁体   English

如何在workbook1更新时将workbook1中的数据添加到workbook2和workbook2更新中?

[英]How to add data from workbook1 into workbook2 and workbook2 updates when workbook1 updates?

I am pretty new to VBA/Macros and I want to create a dashboard that collaborates multiple charts from workbook1 into a new, centralized, worksheet in workbook2.我对 VBA/宏很陌生,我想创建一个仪表板,将 workbook1 中的多个图表协作到 workbook2 中的一个新的、集中的工作表中。 To do this, I decided to add a code into VBA that copies the data from workbook1 into workbook2 however when I add new information into workbook1 that changes its data, it does not auto-update the data in workbook2.为此,我决定在 VBA 中添加一个代码,将数据从工作簿 1 复制到工作簿 2 但是当我将新信息添加到工作簿 1 以更改其数据时,它不会自动更新工作簿 2 中的数据。 Is there a way to sync the sheets and both workbooks so that workbook2 also update without me having to do anything to it?有没有办法同步工作表和两个工作簿,以便 workbook2 也可以更新而无需我对其进行任何操作? Plus I am trying to turn the data in workbook2 into a chart that updates automatically so that I have a easy to read sheet in workbook2 (basically a dashboard.)另外,我正在尝试将 workbook2 中的数据转换为自动更新的图表,以便我在 workbook2 中有一个易于阅读的工作表(基本上是一个仪表板)。

The script below will copy all charts in your workbook to one single sheet.下面的脚本会将工作簿中的所有图表复制到一张纸上。 This is a lot cleaner, I think, than moving everything into another Workbook.我认为,这比将所有内容移动到另一个工作簿中要干净得多。 Hope this helps.希望这可以帮助。

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.

相关问题 从Workbook1中对Workbook2中的数据进行排序 - Sorting Data in Workbook2 from Workbook1 循环搜索workbook1中的数据,将偏移单元格复制到workbook2 - Loop to search data in workbook1, copy offset cell to workbook2 如何将数据从工作簿 1 的工作表 1 复制到工作簿 2 的工作表 2? - How to copy data from sheet1 of workbook1 to sheet 2 of Workbook2? EPPlus 将工作表从 Workbook1 复制到 Workbook2 - EPPlus To Copy Worksheet From Workbook1 to Workbook2 在工作簿2中找到一个值,并将偏移值复制到工作簿1中 - Find a values in workbook2 and copy offset value to workbook1 根据Workbook1中的单元格值删除Workbook2中的多行 - Delete multi Rows in Workbook2 depending on cell values in Workbook1 根据 Workbook1 中单元格值中的单元格值筛选 Workbook2 中的数据 - Filter Data in Workbook2 based on the cell value in cell values in Workbook1 从 Workbook1、Column1 中查找与 Workbook2、Column 1 中的值不同的值并在新工作表中显示 - Find Values from Workbook1, Column1 that are unique from values in Workbook2, Column 1 and display in new sheet 如何将Workbook1 / Sheet3中的选定行与Workbook2 / Sheet3中的选定行进行比较 - How to compare a selected row in Workbook1/Sheet3 with a selected row in Workbook2/Sheet3 如何将数据从一个已经打开的Excel文件(Workbook1,Sheet1,单元格A11)复制到另一个已经打开的Excel文件(workbook2,sheet1,A11) - How to copy data from one already opened excel file (Workbook1,Sheet1,cell A11) to another already opened excel file(workbook2,sheet1,A11)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM