多个表到一个共享点列表vba

时间:2020-08-19 11:11:30

标签: excel vba sharepoint

我要解决的问题是:

我需要构建一个宏,该宏将从下载的报告中获取一个表,并将该表中的数据上传到共享点列表。表的布局是相同的,唯一的变化是时不时地会有一些数据。

我设法将“主”文件链接到共享点列表,并将该列表下载到excel:

Sub ImportListFromSP()

    Dim ws As Worksheet

    Set ws = ThisWorkbook.Worksheets(2)
    Dim src(1) As Variant
    src(0) = "https://sharepoint.link/_vti_bin"
    src(1) = "{LIST ID}"

    ws.ListObjects.Add xlSrcExternal, src, True, xlYes, ws.Range("A1")
    
    MsgBox ("Done")

End Sub

只要更改其中的任何内容,都可以使用以下代码保存更改:

Sub UpdateSPList()

   Dim ws As Worksheet
   Dim objListObj As ListObject

   Set ws = ActiveWorkbook.Worksheets("Upload List")
    
   Set objListObj = ws.ListObjects(1)

   objListObj.UpdateChanges xlListConflictDialog
   
   MsgBox ("My work here is done, click OK to exit the macro")

End Sub

这在该表中工作正常,如果我进行更改,它们将反映在共享点列表中。

现在,当我尝试通过以下方式用另一个表中的数据替换数据时:

删除表并在其中复制另一个表 删除工作表并在其中复制工作表

它不起作用。

似乎唯一可行的方法是手动复制数据(链接到共享点列表的表的“ ID”列为只读)。如果我要编写一个带有尝试匹配唯一标识符的循环的宏,然后将所有单元格都匹配到最后一个(它最多可达DD和大约6000行),那么它将持续一段时间。另外,还需要弄清楚如何复制不存在的新ID并删除已删除的ID ...

但是我不知道是否存在将新表链接到SharePoint列表或类似方法的另一种方法?

在此先感谢您的帮助。我查看了问题和答案,有一些(不是很多)类似的问题和答案,但我不知道

0 个答案:

没有答案