扩展行的 VBA 动态范围

标签 vba excel

我正在尝试在 VBA 中执行看似简单的动态范围任务。

enter image description here

上表有从外部网站下载的数据。每天都会向其中添加新行。

enter image description here

第二个表引用了第一个表。例如,此表中的日期列将是 =USA!A18。

我想编写一个 VBA 脚本,以便每当将新数据添加到第一个表时,我都可以运行宏以向下扩展第二个表的行/公式以添加新数据。

因此,如果将 5 个新行添加到第一个表中,宏会将第二个表中从 A 列到 W 列的现有行和公式向下扩展 5 个。在不破坏电子表格中的其他代码的情况下,它不能有任何空白行或 #VALUE 错误。数据从 A9 开始并扩展到 W9。

我尝试实现以下内容:

Sub extendrows()

Dim lastRow As Long

lastRow = Worksheets("USA").Range("A" & Rows.Count).End(xlUp)

Worksheets("USA defprob").Range("A9:W9").AutoFill Destination:=Range("A9:W" & lastRow)

End Sub

但我得到一个内存错误,我怀疑这是因为它粘贴了几千行空白行而不是停止。如何调整此代码以执行我需要宏执行的操作?

最佳答案

你可以试试这个:

Option Explicit

Sub extendrows()
    Dim nDataRows As Long

    With Worksheets("USA")
        nDataRows = .Range("A" & .Rows.Count).End(xlUp).Row - 2 ' assuming data start from row 3 in "USA"
    End With

    With Worksheets("USA defprob").Range("A9:W9")
        .AutoFill Destination:=.Resize(nDataRows)
    End With
End Sub

关于扩展行的 VBA 动态范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40135472/

相关文章:

excel - VBA过滤器列存储另一列的唯一值

excel - 删除具有部分匹配字符串 Excel 2007 的所有行

vba - 使用 VBA 获取阈值

vba - 如何确保在 VBA 过程中完成 Excel 计算

php - 使用 PHPExcel 将 SQL 数据从数据库导出到 Excel

excel - vbObjectError 应该使用哪些数字?

excel - Excel 图表上的动态系列选择

vba - EXCEL - 根据单元格值有条件地合并行的宏

excel - 使用 vba .ExportAsFixedFormat 方法从 Excel 打印无边距的收费表?

excel - getelementsbyclassname Excel vba - 重复调用错误