将外部数据作为静态数据拉到下一个空行,然后重复下一个空行? (将 Google Sheet 数据备份到 Excel)

Posted

技术标签:

【中文标题】将外部数据作为静态数据拉到下一个空行,然后重复下一个空行? (将 Google Sheet 数据备份到 Excel)【英文标题】:Pulling external data to next empty row as static, then repeating with next empty row? (Backing up Google Sheet data to Excel) 【发布时间】:2017-11-14 22:00:17 【问题描述】:

我有一张 Excel 表格,我想用作 Google 表格的备份,我会定期清理它以防止它变慢。我正在尝试编写一个宏,它会在一段时间后在 Excel 工作表中找到下一个空行,激活“A”列中的单元格,然后从 Google 工作表中导入数据。我不想“刷新” Excel 中的数据,因为计划是每隔一段时间删除 Google 表格中的数据,而 Excel 表格用作连续记录。我只想将当前的 Google 表格数据拉到下一个空行的第一个单元格中,并安排重复此操作。

这是我一直在尝试的:

Sub addData()
newCell = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Address
MsgBox newCell
Sheet1.QueryTables.Add(Connection:= _
        "URL;googleSheetURL" _
        , Destination:=Range(newCell))
        .PostText = "transaction-data_1"
        .Name = False
        .FieldNames = False
        .RefreshStyle = xlInsertDeleteCells
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .HasAutoFormat = False
        .RefreshOnFileOpen = 2
        .BackgroundQuery = False
        .TablesOnlyFromhtml = True
        .SaveData = True
        .Refresh BackgroundQuery:=False
        .UseListObject = False
    End With  
End Sub

其中googleSheetURL 被替换为工作表的已发布链接。

我只是不断收到错误,调试模式突出显示Refresh BackgroundQuery 行。我禁用了后台刷新,因为我不希望查询在我拉出它们后更新。有人有什么见解吗?

【问题讨论】:

【参考方案1】:

此代码无法编译。你在Sheet1 前面少了一个With

Sub addData()
    newCell = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Address

    With Sheet1.QueryTables.Add(Connection:= _
        "URL;googleSheetURL" _
        , Destination:=Range(newCell))
        .PostText = "transaction-data_1"
        .Name = False
        .FieldNames = False
        .RefreshStyle = xlInsertDeleteCells
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .HasAutoFormat = False
        .RefreshOnFileOpen = 2
        .BackgroundQuery = False
        .TablesOnlyFromHTML = True
        .SaveData = True
        .Refresh BackgroundQuery:=False
        .UseListObject = False
    End With
End Sub

【讨论】:

谢谢,但即使使用“with”,我也会收到运行时错误 1004:对象“_QueryTable”的“方法“刷新”失败

以上是关于将外部数据作为静态数据拉到下一个空行,然后重复下一个空行? (将 Google Sheet 数据备份到 Excel)的主要内容,如果未能解决你的问题,请参考以下文章

单击按钮路由到下一页[重复]

Excel - 自动输入到下一个空行

当我将数据从 TableView 传递给子 PageViewController 时,它可以转到下一个子

Scrapy/Selenium 两次跳转到下一页,然后中断(元素不可点击)。此外,除了第一页外,没有提取任何数据

将选择选项值作为 url 参数传递到下一页

Laravel 提交按钮不跳转到下一页和上一页