如何从各种外部电子表格自动更新电子表格?

时间:2015-03-19 22:25:50

标签: excel filenames

我希望有人能指出新手正确的方向。基本上我有一个speadsheet,其中包含与该月每一天相关的信息行。目前,这些行是从单独的相应日常工作表中手动更新的,理想情况下,我希望自动执行此过程。我曾经想过的一个想法就是尝试使用Excel重新创建每个工作表的文件名,但我只是得到了REF!错误。每日文件以dd-mm-yy开头,我希望以某种方式从Excel中的单元格添加此日期并将其附加到[dd-mm-yy]工作表文件路径]以使用外部工作表填充当前工作表但到目前为止没有太多运气。任何帮助非常感谢。感谢。

2 个答案:

答案 0 :(得分:0)

查看数据选项卡,然后查看“连接”。按添加,然后按浏览(在底部)。然后,您可以选择工作表,也可以获取宏来更新它们。

答案 1 :(得分:0)

假设我们需要从各种工作簿中提取数据。要获取我们需要知道的数据:

  1. 工作簿的路径
  2. 工作簿的名称
  3. 包含数据的工作簿中的选项卡
  4. 包含数据的标签中的单元格
  5. 我们将必要的信息放入选项卡中,如下所示:

    enter image description here

    让我们假设信息在表 x

    运行此宏:

    Sub GetExternalData()
    
        Dim wbPath As String, WorkbookName As String
        Dim WorksheetName As String, CellRef As String
        Dim Ret As String, i As Long, N As Long
    
        With Sheets("x")
        For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
    
            wbPath = "'" & .Cells(i, 1).Value
            WorkbookName = "[" & .Cells(i, 2).Value & "]"
            WorksheetName = .Cells(i, 3).Value & "'!"
            CellRef = .Cells(i, 4).Value
    
            Ret = wbPath & WorkbookName & WorksheetName & Range(CellRef).Address(True, True, -4150)
    
            .Cells(i, 5).Value = ExecuteExcel4Macro(Ret)
        Next i
        End With
    End Sub
    

    E 列填满结果。

    每次需要时都可以运行宏,或者每次打开工作簿时都可以安排运行宏。