将数据从工作表1复制和粘贴到工作表2之前,需要在电子表格中找到最后一行

米卡·兰克福德(Micah Lankford)

这个站点已经在一段时间内极大地帮助了我VBA,为此,谢谢!但是我似乎无法使此代码正常工作,并且我看了很多示例。发生的事情是,一旦当前日期比到期日期早4天,我就将数据存档到另一张纸上。一切都按预期进行,但是每次执行宏时,sheet2上的数据都会被擦除并复制。我需要我的代码来找到sheet2的最后一行并将数据从sheet1复制到sheet2,以便所有数据都在那里。谢谢!

Sub archive()

Dim LastRow As Long
Dim i As Long
LastRow = Range("M" & Rows.Count).End(xlUp).Row

For i = 3 To LastRow

If Worksheets("Sheet1").Range("M" & i) - Date <= -4 And Worksheets("Sheet1").Range("N" & i).Value = "DONE" Then
Sheet2.Select

Range("A" & i).EntireRow.Value = Sheet1.Range("M" & i).EntireRow.Value
Sheet1.Range("M" & i).EntireRow.Delete
End If

If Worksheets("Sheet1").Range("L" & i) = "" Then
Exit For
End If

Next i

End Sub
托皮格

在这里,我采用了您的代码并将其更改为使用worksheet对象。我没有在任何数据上进行过测试,因为您没有提供任何要使用的数据,但是它为您提供了实现方法的思路。

另外,在您的代码中,您没有找到的最后一行Sheet2,而是将数据放入row i,从3开始。

当您从sheet1删除数据行时,您还需要当心,因为这会将其余数据向上移动,因此循环的下一次迭代可能找不到下一行数据/跳过了一行数据。

Sub archive()

Dim LastRow As Long
Dim LastRowSht2 As Long
Dim i As Long
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Dim rowCount As Long

Set sht1 = Worksheets("Sheet1")
Set sht2 = Worksheets("Sheet2")

LastRow = sht1.Range("M" & Rows.Count).End(xlUp).Row
rowCount = 3

For i = 3 To LastRow

    If sht1.Range("M" & rowCount) - Date <= -4 And sht1.Range("N" & rowCount).Value = "DONE" Then

        LastRowSht2 = sht2.Range("A" & Rows.Count).End(xlUp).Row + 1  '+1 so it doesn't overwrite the last row
        sht2.Range("A" & LastRowSht2).EntireRow.Value = sht1.Range("M" & rowCount).EntireRow.Value

        sht1.Range("M" & rowCount).EntireRow.Delete
    Else
        rowCount = rowCount + 1
    End If

    If sht1.Range("L" & rowCount) = "" Then
        Exit For
    End If

Next i

' clean up
set sht1 = nothing
set sht2 = nothing 

End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Google电子表格的工作表1中导入的数据中删除工作表2中的行

来自分类Dev

是否可以在电子表格中复制和粘贴数据透视表?

来自分类Dev

使用Google工作表脚本时,如何在不创建新工作表副本的情况下将电子表格的工作表复制到另一个电子表格中?

来自分类Dev

将工作表复制到另一个电子表格[Google Apps脚本]

来自分类Dev

仅从工作表复制最后一行并将其粘贴到另一工作表的最后一行

来自分类Dev

循环打开电子表格,然后从工作表 a 复制到工作表 b

来自分类Dev

将数据从多个工作簿的最后一行复制并粘贴到另一个工作簿中的工作表

来自分类Dev

将工作表复制到新电子表格,将单元格值添加到新电子表格名称的末尾

来自分类Dev

将多个Google电子表格合并为一张工作表

来自分类Dev

将多个Google电子表格合并为一张工作表

来自分类Dev

熊猫:将数据框切成同一电子表格的多个工作表

来自分类Dev

从工作表中一个表的最后一行复制/粘贴到另一最后一行

来自分类Dev

使用URL和工作表ID访问电子表格中的工作表

来自分类Dev

将工作表 1 中的列复制粘贴到工作表 2,但需要串联

来自分类Dev

如何将单元格从一个电子表格复制到另一个电子表格中的工作表?

来自分类Dev

如果在工作表1 A列中找到值,则需要将整个行从工作表2粘贴到工作表3

来自分类Dev

如果在工作表1 A列中找到值,则需要将整个行从工作表2粘贴到工作表3

来自分类Dev

在另一个Google电子表格的工作表中搜索当前工作表的A1值,并在找到A1值的行中返回A,B,C列的值

来自分类Dev

Google电子表格:在活动工作表中插入数据透视表。

来自分类Dev

Google电子表格:在活动工作表中插入数据透视表。

来自分类Dev

如何在电子表格的末尾移动复制的工作表?

来自分类Dev

使用Google脚本复制电子表格并为每个工作表设置权限

来自分类Dev

如何在电子表格的末尾移动复制的工作表?

来自分类Dev

复制到另一个电子表格后重命名工作表 - 删除“副本”?

来自分类Dev

将工作表从电子表格复制到文档时,结果为“给定轴上的所有系列必须具有相同的数据类型”

来自分类Dev

如果工作表1和工作表2中都存在值,则复制行,并将其粘贴到工作表3中。Google表格。Google Apps脚本

来自分类Dev

用于将一张工作表复制到Google云端硬盘中特定文件夹中的各种电子表格的脚本

来自分类Dev

仅在Google电子表格的最后一行查找和替换

来自分类Dev

在电子表格中找到第1行的文本并获取第2列

Related 相关文章

  1. 1

    从Google电子表格的工作表1中导入的数据中删除工作表2中的行

  2. 2

    是否可以在电子表格中复制和粘贴数据透视表?

  3. 3

    使用Google工作表脚本时,如何在不创建新工作表副本的情况下将电子表格的工作表复制到另一个电子表格中?

  4. 4

    将工作表复制到另一个电子表格[Google Apps脚本]

  5. 5

    仅从工作表复制最后一行并将其粘贴到另一工作表的最后一行

  6. 6

    循环打开电子表格,然后从工作表 a 复制到工作表 b

  7. 7

    将数据从多个工作簿的最后一行复制并粘贴到另一个工作簿中的工作表

  8. 8

    将工作表复制到新电子表格,将单元格值添加到新电子表格名称的末尾

  9. 9

    将多个Google电子表格合并为一张工作表

  10. 10

    将多个Google电子表格合并为一张工作表

  11. 11

    熊猫:将数据框切成同一电子表格的多个工作表

  12. 12

    从工作表中一个表的最后一行复制/粘贴到另一最后一行

  13. 13

    使用URL和工作表ID访问电子表格中的工作表

  14. 14

    将工作表 1 中的列复制粘贴到工作表 2,但需要串联

  15. 15

    如何将单元格从一个电子表格复制到另一个电子表格中的工作表?

  16. 16

    如果在工作表1 A列中找到值,则需要将整个行从工作表2粘贴到工作表3

  17. 17

    如果在工作表1 A列中找到值,则需要将整个行从工作表2粘贴到工作表3

  18. 18

    在另一个Google电子表格的工作表中搜索当前工作表的A1值,并在找到A1值的行中返回A,B,C列的值

  19. 19

    Google电子表格:在活动工作表中插入数据透视表。

  20. 20

    Google电子表格:在活动工作表中插入数据透视表。

  21. 21

    如何在电子表格的末尾移动复制的工作表?

  22. 22

    使用Google脚本复制电子表格并为每个工作表设置权限

  23. 23

    如何在电子表格的末尾移动复制的工作表?

  24. 24

    复制到另一个电子表格后重命名工作表 - 删除“副本”?

  25. 25

    将工作表从电子表格复制到文档时,结果为“给定轴上的所有系列必须具有相同的数据类型”

  26. 26

    如果工作表1和工作表2中都存在值,则复制行,并将其粘贴到工作表3中。Google表格。Google Apps脚本

  27. 27

    用于将一张工作表复制到Google云端硬盘中特定文件夹中的各种电子表格的脚本

  28. 28

    仅在Google电子表格的最后一行查找和替换

  29. 29

    在电子表格中找到第1行的文本并获取第2列

热门标签

归档