gpt4 book ai didi

VBA - 将表行复制并粘贴到另一个表

转载 作者:行者123 更新时间:2023-12-02 18:41:16 25 4
gpt4 key购买 nike

我对 VBA 很陌生,我正在尝试解决我认为应该是一个非常简单的问题(我有 Java/J2EE 背景)...我正在循环遍历一个表并希望将行复制到表中在另一个基于一些条件语句的工作表上。请参阅下面的代码。

Sub closeActionItems()
Dim i, iLastRow As Integer
Dim date1 As Date
Dim oLastRow As ListRow

date1 = Date
iLastRow = ActiveSheet.ListObjects("Open_Items").ListRows.Count

For i = 6 To iLastRow
If Cells(i, 7).Value <= date1 And Cells(i, 7).Value <> vbNullString Then
Rows(i).Copy
Set oLastRow = Worksheets("Closed").ListObject("Closed_Items").ListRows.Add
'Paste into new row

Application.CutCopyMode = False
Rows(i).EntireRow.Delete
End If
Next
End Sub

我尝试了许多不同的迭代,但无法找到将剪贴板内容复制到新创建的行的正确方法。

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

将 srcRow 定义为 Range,如下所示:

Dim srcRow as Range

然后在你的循环中尝试这样做:

        Set srcRow = ActiveSheet.ListObjects("Open_Items").ListRows(i).Range
Set oLastRow = Worksheets("Closed").ListObjects("Closed_Items").ListRows.Add

srcRow.Copy
oLastRow.Range.PasteSpecial xlPasteValues

Application.CutCopyMode = False
Rows(i).EntireRow.Delete

请注意,您仍然遇到一个问题,因为您在尝试循环遍历行时正在删除行,因此您可能需要更改循环,以便它从底部开始向上移动。

关于VBA - 将表行复制并粘贴到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12299898/

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