将外部数据作为静态数据拉到下一个空行,然后重复下一个空行? (将 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)的主要内容,如果未能解决你的问题,请参考以下文章
当我将数据从 TableView 传递给子 PageViewController 时,它可以转到下一个子