gpt4 book ai didi

扩展行的 VBA 动态范围

转载 作者:行者123 更新时间:2023-12-04 21:35:12 28 4
gpt4 key购买 nike

我正在尝试在 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com